Yii2 Streamlog
, (*1)
A Yii 2 log target for streams in URL format., (*2)
This log target allows you to log to any of the URL like targets that are
supported by PHP. Typical use cases
are docker containers that often log to STDOUT
and STDERR
, in which case
the target urls would be php://stdout
and php://stderr
respectively., (*3)
It's also possible to use an already opened resource or one of PHP's
predefined resource constants
(only available in CLI context). See the $fp
option below., (*4)
Installation and Configuration
Install the package through composer:, (*5)
composer require codemix/yii2-streamlog
And then add this to your application configuration:, (*6)
<?php
return [
// ...
'components' => [
// ...
'log' => [
'targets' => [
[
'class' => 'codemix\streamlog\Target',
'url' => 'php://stdout',
'levels' => ['info','trace'],
'logVars' => [],
],
[
'class' => 'codemix\streamlog\Target',
'url' => 'php://stderr',
'levels' => ['error', 'warning'],
'logVars' => [],
],
],
],
Configuration Options
- (string)
$url
the URL to use. See http://php.net/manual/en/wrappers.php for details.
This gets ignored if $fp
is configured.
- (resource)
$fp
an open and writeable resource. This can also be one of
PHP's predefined resources like STDOUT
or STDERR
, which are available in CLI context.
(Since 1.2.0)
- (string|null)
$replaceNewline
a string that should replace all newline characters in a log message.
Default ist null
for no replacement. (Since 1.1.0)
- (bool)
$disableTimestamp
whether to omit the timestamp prefix. The default is false
which
will prepend every message with a timestamp generated by yii\log\Target::getTime()
. (Since 1.3.0)
- (string)
$prefixString
a string that will be prefixed to every message at the first position
(even before the timestamp - if not disabled). Default is an empty string. (Since 1.3.0)
- (bool)
$enableLocking
whether enable locking with flock()
on the target. Note, that this is not
supported by all stream types. Default is false
. (Since 1.3.0)