Class yii\log\FileTarget
Inheritance | yii\log\FileTarget » yii\log\Target » yii\base\Component » yii\base\BaseObject |
---|---|
Implements | yii\base\Configurable |
Available since version | 2.0 |
Source Code | https://github.com/yiisoft/yii2/blob/master/framework/log/FileTarget.php |
FileTarget records log messages in a file.
The log file is specified via $logFile. If the size of the log file exceeds $maxFileSize (in kilo-bytes), a rotation will be performed, which renames the current log file by suffixing the file name with '.1'. All existing log files are moved backwards by one place, i.e., '.2' to '.3', '.1' to '.2', and so on. The property $maxLogFiles specifies how many history files to keep.
Public Properties
Property | Type | Description | Defined By |
---|---|---|---|
$categories | array | List of message categories that this target is interested in. | yii\log\Target |
$dirMode | integer | The permission to be set for newly created directories. | yii\log\FileTarget |
$enableRotation | boolean | Whether log files should be rotated when they reach a certain maximum size. | yii\log\FileTarget |
$except | array | List of message categories that this target is NOT interested in. | yii\log\Target |
$exportInterval | integer | How many messages should be accumulated before they are exported. | yii\log\Target |
$fileMode | integer | The permission to be set for newly created log files. | yii\log\FileTarget |
$logFile | string | Log file path or path alias. | yii\log\FileTarget |
$logVars | array | List of the PHP predefined variables that should be logged in a message. | yii\log\Target |
$maskVars | array | List of the PHP predefined variables that should NOT be logged "as is" and should always be replaced
with a mask *** before logging, when exist. |
yii\log\Target |
$maxFileSize | integer | Maximum log file size, in kilo-bytes. | yii\log\FileTarget |
$maxLogFiles | integer | Number of log files used for rotation. | yii\log\FileTarget |
$messages | array | The messages that are retrieved from the logger so far by this log target. | yii\log\Target |
$microtime | boolean | Whether to log time with microseconds. | yii\log\Target |
$prefix | callable | A PHP callable that returns a string to be prefixed to every exported message. | yii\log\Target |
$rotateByCopy | boolean | Whether to rotate log files by copy and truncate in contrast to rotation by renaming files. | yii\log\FileTarget |
Public Methods
Method | Description | Defined By |
---|---|---|
__call() | Calls the named method which is not a class method. | yii\base\Component |
__clone() | This method is called after the object is created by cloning an existing one. | yii\base\Component |
__construct() | Constructor. | yii\base\BaseObject |
__get() | Returns the value of a component property. | yii\base\Component |
__isset() | Checks if a property is set, i.e. defined and not null. | yii\base\Component |
__set() | Sets the value of a component property. | yii\base\Component |
__unset() | Sets a component property to be null. | yii\base\Component |
attachBehavior() | Attaches a behavior to this component. | yii\base\Component |
attachBehaviors() | Attaches a list of behaviors to the component. | yii\base\Component |
behaviors() | Returns a list of behaviors that this component should behave as. | yii\base\Component |
canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\Component |
canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\Component |
className() | Returns the fully qualified name of this class. | yii\base\BaseObject |
collect() | Processes the given log messages. | yii\log\Target |
detachBehavior() | Detaches a behavior from the component. | yii\base\Component |
detachBehaviors() | Detaches all behaviors from the component. | yii\base\Component |
ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. | yii\base\Component |
export() | Writes log messages to a file. | yii\log\FileTarget |
filterMessages() | Filters the given messages according to their categories and levels. | yii\log\Target |
formatMessage() | Formats a log message for display as a string. | yii\log\Target |
getBehavior() | Returns the named behavior object. | yii\base\Component |
getBehaviors() | Returns all behaviors attached to this component. | yii\base\Component |
getEnabled() | Check whether the log target is enabled. | yii\log\Target |
getLevels() | yii\log\Target | |
getMessagePrefix() | Returns a string to be prefixed to the given message. | yii\log\Target |
hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. | yii\base\Component |
hasMethod() | Returns a value indicating whether a method is defined. | yii\base\Component |
hasProperty() | Returns a value indicating whether a property is defined for this component. | yii\base\Component |
init() | Initializes the route. | yii\log\FileTarget |
off() | Detaches an existing event handler from this component. | yii\base\Component |
on() | Attaches an event handler to an event. | yii\base\Component |
setEnabled() | Sets a value indicating whether this log target is enabled. | yii\log\Target |
setLevels() | Sets the message levels that this target is interested in. | yii\log\Target |
trigger() | Triggers an event. | yii\base\Component |
Protected Methods
Method | Description | Defined By |
---|---|---|
getContextMessage() | Generates the context information to be logged. | yii\log\Target |
getTime() | Returns formatted ('Y-m-d H:i:s') timestamp for message. | yii\log\Target |
rotateFiles() | Rotates log files. | yii\log\FileTarget |
Property Details
The permission to be set for newly created directories. This value will be used by PHP chmod() function. No umask will be applied. Defaults to 0775, meaning the directory is read-writable by owner and group, but read-only for other users.
Whether log files should be rotated when they reach a certain maximum size. Log rotation is enabled by default. This property allows you to disable it, when you have configured an external tools for log rotation on your server.
The permission to be set for newly created log files. This value will be used by PHP chmod() function. No umask will be applied. If not set, the permission will be determined by the current environment.
Log file path or path alias. If not set, it will use the "@runtime/logs/app.log" file. The directory containing the log files will be automatically created if not existing.
Maximum log file size, in kilo-bytes. Defaults to 10240, meaning 10MB.
Number of log files used for rotation. Defaults to 5.
Whether to rotate log files by copy and truncate in contrast to rotation by
renaming files. Defaults to true
to be more compatible with log tailers and is windows
systems which do not play well with rename on open files. Rotation by renaming however is
a bit faster.
The problem with windows systems where the rename()
function does not work with files that are opened by some process is described in a
comment by Martin Pelletier in
the PHP documentation. By setting rotateByCopy to true
you can work
around this problem.
Method Details
Writes log messages to a file.
Starting from version 2.0.14, this method throws LogRuntimeException in case the log can not be exported.
public void export ( ) | ||
throws | yii\base\InvalidConfigException | if unable to open the log file for writing |
---|---|---|
throws | yii\log\LogRuntimeException | if unable to write complete log to file |
Initializes the route.
This method is invoked after the route is created by the route manager.
public void init ( ) |
Rotates log files.
protected void rotateFiles ( ) |