evotodi/log-viewer-bundle

适用于symfony 5/6的简单日志查看器组件

安装量: 12,448

依赖关系: 0

建议者: 0

安全性: 0

星标: 18

关注者: 1

分支: 5

开放问题: 2

类型:symfony-bundle

6.2.0 2022-12-19 15:47 UTC

This package is auto-updated.

Last update: 2024-09-19 19:19:25 UTC


README

LogViewerBundle 是一个基本的symfony日志查看器。它允许您在一个易于访问的地方列出和查看所有symfony日志或外部日志,具有级别突出显示和级别过滤功能。

###注意: 从低于1.4的版本升级将破坏您的日志模式。请参阅下方的破坏性更改

安装

使用以下命令安装包

composer require evotodi/log-viewer-bundle

建议的包

安装 nesbot/carbon 以进行日期时间解析,并在配置中启用

composer require nesbot/carbon
evo_log_viewer:
    log_files:
        use_carbon: true

配置

创建路由yaml文件 config/routes/evo_log_viewer_routes.yaml

evo_log_viewer:
  resource: '@EvotodiLogViewerBundle/Resources/config/routes.xml'
  prefix: '/logs'

创建配置yaml文件 config/packages/evo_log_viewer.yaml

# List of log files to show
evo_log_viewer:
    log_files:
        # Unique identifier for the logfile
        somelog1:
            # Use full path
            path: 'Some/Full/Path/to/Log/File.Ext'

            # Pretty name to display else file name
            name: My Log Files Pretty Name 

            # (Optional) Number of days to pull from log. See ddtraceweb/monolog-parser.
            days: 0

            # (Optional) See ddtraceweb/monolog-parser for patterns.
            pattern: null

            # (Optional) PHP style date format of log file
            date_format: 'Y-m-d H:i:s'

            # (Optional) Use P<channel> in the pattern
            use_channel: true

          # (Optional) Use P<level> in the pattern
            use_level: true
            
            # (Optional) Log level spelling. Case sensitive
            levels:
                debug: DEBUG
                info: INFO
                notice: NOTICE
                warning: WARNING
                error: ERROR
                alert: ALERT
                critical: CRITICAL
                emergency: EMERGENCY

        somelog2:
            path: '/path/to/logfile.log'
            name: Pretty Logfile Name

    # Show App logs in var/log
    show_app_logs: true
    
    # (Optional) Change the default parser pattern
    app_pattern: '/\[(?P<date>.*)\] (?P<logger>\w+).(?P<level>\w+): (?P<message>[^\[\{].*[\]\}])/'
    
    # (Optional) Change the default date format
    app_date_format: 'Y-m-d H:i:s'
    
    # (Optional) Use nesbot/Carbon for datetime parsing
    # Execute 'composer require nesbot/carbon' before setting to true
    use_carbon: false

高级配置

模式

默认模式为 '/\[(?P.*?)\] (?P\w+).(?P\w+): (?P[\[\{].*[\}\]]).*/'
您可以将正则表达式模式更改为匹配您的日志文件,但模式必须包括 PPPP 作为正则表达式组。您可以通过分别设置 use_channel: false 和 use_level: false 来省略 PP
示例 '/\[(?P.+)\] (?P\w+).(?P\w+): (?P.*?)/'
请参阅 ddtraceweb/monolog-parser 以获取其他示例,但省略 PP

天数

将配置中的天数设置为0将解析整个日志,这是默认值。例如,将天数设置为5将解析日志,直到日期部分的模式大于 DateTime('now') 减去5天。

date_format (可选)

这应该是模式的日期部分的 PHP 日期格式。默认为 Y-m-d H:i:s / PHP 日期格式

级别

覆盖每个级别的默认拼写。例如,WARNING -> WARN

破坏性更改

从旧版本更新到 >=1.4 的版本将破坏您的日志模式。这很容易修复,只需将 P 更改为 P

感谢

感谢 ddtraceweb/monolog-parser 和 greenskies/web-log-viewer-bundle。

贡献

欢迎贡献!

请创建详细的 issue 和 PR。

许可

此包是免费软件,根据MIT 许可证的条款分发。