index0h / yii2-log
许多 Yii2 日志目标
0.0.3
2015-05-24 22:32 UTC
Requires
- php: >=5.4.0
- yiisoft/yii2: 2.0.*
- yiisoft/yii2-composer: 2.0.*
Requires (Dev)
- codeception/codeception: 2.0.*
- yiisoft/yii2-elasticsearch: 2.0.*
- yiisoft/yii2-redis: 2.0.*
This package is not auto-updated.
Last update: 2024-09-14 15:27:12 UTC
README
不同的 Yii2 日志传输方式
现在可用
- ElasticsearchTarget
- LogstashFileTarget
- LogstashTarget
- RedisTarget
安装
安装此扩展的首选方式是通过 composer。
php composer.phar require --prefer-dist index0h/yii2-log "0.0.3"
或在 composer.json
的 require 部分添加一行
"index0h/yii2-log": "0.0.3"
使用
常用属性
$emergencyLogFile
,默认@app/logs/logService.log
Elasticsearch、Redis 和 Logstash 是外部服务,因此如果它们宕机,我们的日志必须存储在文件中。为此,ElasticsearchTarget、LogstashTarget、RedisTarget 具有选项 $emergencyLogFile
。它是日志服务宕机时记录日志的文件别名。
ElasticsearchTarget
将日志存储在 Elasticsearch 中。所有日志都转换为 JSON,因此您可以通过 kibana 简单地查看它们。
扩展 yii\log\Target,更多选项请参阅 这里
示例配置
.... 'components' => [ 'log' => [ 'targets' => [ ['class' => 'index0h\\log\\ElasticsearchTarget'], ....
属性
index
,默认 'yii' - Elasticsearch 索引名称。type
,默认 'log' - Elasticsearch 索引类型。componentName
- yii redis 组件的名称。
LogstashFileTarget
扩展 yii\log\FileTarget,更多选项请参阅 这里
示例 Yii 配置
.... 'components' => [ 'log' => [ 'targets' => [ ['class' => 'index0h\\log\\LogstashFileTarget'], ....
示例 Logstash 配置 (当前版本 1.3.3)
input {
file {
type => "yii_log"
path => [ "path/to/yii/logs/*.log*" ]
start_position => "end"
stat_interval => 1
discover_interval => 30
codec => "json"
}
}
filter {
# ...
}
output {
stdout => {}
}
LogstashTarget
扩展 yii\log\Target,更多选项请参阅 这里
示例 Yii 配置
.... 'components' => [ 'log' => [ 'targets' => [ ['class' => 'index0h\\log\\LogstashTarget'], // Or UDP. [ 'class' => 'index0h\\log\\LogstashTarget', 'dsn' => 'udp://:3333' ], // Or unix socket file. [ 'class' => 'index0h\\log\\LogstashTarget', 'dsn' => 'unix:///path/to/logstash.sock' ], ....
示例 Logstash 配置 (当前版本 1.3.3)
input {
tcp {
type => "yii_log"
port => 3333
codec => "json"
}
# Or UDP.
udp {
type => "yii_log"
port => 3333
codec => "json"
}
# Or unix socket file.
unix {
type => "yii_log"
path => "path/to/logstash.sock"
codec => "json"
}
}
filter {
# ...
}
output {
stdout => {}
}
属性
dsn
,默认tcp://:3333
- 日志服务器的 URL。允许的方案:tcp、udp、unix - 用于 Unix 套接字文件。
RedisTarget
扩展 yii\log\Target,更多选项请参阅 这里
示例 Yii 配置
.... 'components' => [ 'log' => [ 'targets' => [ ['class' => 'index0h\\log\\RedisTarget'], ....
示例 Logstash 配置 (当前版本 1.3.3)
input {
redis {
type => "yii_log"
key => "yii_log"
codec => "json"
}
}
filter {
# ...
}
output {
stdout => {}
}
属性
key
,默认yii_log
- Redis 列表键。componentName
- yii redis 组件的名称。
测试
从 IDE 运行测试(例如 PhpStorm)
- 选择“运行/调试配置”->“编辑配置”
- 选择“添加新配置”->“PHP 脚本”
- 类型
- 文件:/path/to/yii-phar/.test.php
- 参数:运行 --coverage --html
- OK
从控制台运行测试
make test