log-channel.php 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. use Kriss\WebmanLogger\Formatter\ChannelFormatter;
  3. use Kriss\WebmanLogger\Formatter\ChannelMixedFormatter;
  4. use Kriss\WebmanLogger\Processors\RequestRouteProcessor;
  5. use Kriss\WebmanLogger\Processors\RequestUidProcessor;
  6. use Kriss\WebmanLogger\Processors\CurrentUserProcessor;
  7. use Monolog\Processor\PsrLogMessageProcessor;
  8. return [
  9. // channels
  10. 'channels' => [
  11. 'app',
  12. 'sql',
  13. ],
  14. // 记录等级,仅大于设定等级的日志才会真实写入日志文件
  15. 'levels' => [
  16. // 默认等级
  17. 'default' => config('app.debug') ? 'debug' : 'info',
  18. // 特殊的等级
  19. 'special' => [
  20. //'channelName' => 'info',
  21. ],
  22. ],
  23. // processors
  24. 'processors' => function () {
  25. return [
  26. new PsrLogMessageProcessor('Y-m-d H:i:s'),
  27. new RequestRouteProcessor(),
  28. new CurrentUserProcessor(function () {
  29. // 返回当前用户id
  30. return 0;
  31. }),
  32. new RequestUidProcessor(),
  33. ];
  34. },
  35. // 模式
  36. 'modes' => [
  37. // 按照channel分目录记录
  38. 'split' => [
  39. 'class' => Kriss\WebmanLogger\Mode\SplitMode::class,
  40. 'enable' => true,
  41. 'except_channels' => [],
  42. 'only_channels' => [],
  43. 'formatter' => [
  44. 'class' => ChannelFormatter::class,
  45. ],
  46. 'max_files' => 30, // 最大文件数
  47. ],
  48. // 将所有channel合并到一起记录
  49. 'mix' => [
  50. 'class' => Kriss\WebmanLogger\Mode\MixMode::class,
  51. 'enable' => false,
  52. 'except_channels' => [],
  53. 'only_channels' => [],
  54. 'formatter' => [
  55. 'class' => ChannelMixedFormatter::class,
  56. ],
  57. 'max_files' => 30, // 最大文件数
  58. 'name' => 'channelMixed', // 合并时的日志文件名
  59. ],
  60. // 控制台输出
  61. 'stdout' => [
  62. 'class' => Kriss\WebmanLogger\Mode\StdoutMode::class,
  63. 'enable' => false,
  64. 'except_channels' => [],
  65. 'only_channels' => [],
  66. 'formatter' => [
  67. 'class' => ChannelMixedFormatter::class,
  68. ],
  69. ],
  70. // 输出到 redis
  71. 'redis' => [
  72. 'class' => Kriss\WebmanLogger\Mode\RedisMode::class,
  73. 'enable' => false,
  74. 'except_channels' => [],
  75. 'only_channels' => [],
  76. 'formatter' => [
  77. 'class' => ChannelFormatter::class,
  78. ],
  79. 'redis' => function () {
  80. return support\Redis::connection('default')->client();
  81. },
  82. 'redis_key_prefix' => 'webmanLog:',
  83. 'redis_size' => 0,
  84. ],
  85. ],
  86. ];