类 FileLog
日志记录的文件存储流。根据日志级别将日志写入不同的文件。
属性概要
-
$_config protected
array<string, mixed>
运行时配置
-
$_configInitialized protected
bool
配置属性是否已使用默认值配置
-
$_defaultConfig protected
array<string, mixed>
此类的默认配置
-
$_file protected
string|null
要保存日志的文件名称。
-
$_path protected
string
保存日志文件的路径。
-
$_size protected
int|null
最大文件大小,用于日志文件轮换。
-
$formatter protected
Cake\Log\Formatter\AbstractFormatter
方法概要
-
__construct() public
根据提供的配置设置受保护的属性
-
_configDelete() protected
删除单个配置键。
-
_configRead() protected
读取配置键。
-
_configWrite() protected
写入配置键。
-
_getFilename() protected
获取文件名
-
_rotateFile() protected
如果配置中指定的大小已达到,则轮换日志文件。如果已达到
rotate
计数,则会删除最旧的文件。 -
alert() public
必须立即采取行动。
-
configShallow() public
将提供的配置与现有配置合并。与
config()
对嵌套键执行递归合并不同,此方法执行简单合并。 -
critical() public
严重情况。
-
debug() public
详细的调试信息。
-
emergency() public
系统无法使用。
-
error() public
不需要立即采取行动的运行时错误,但通常应记录和监控。
-
getConfig() public
返回配置。
-
getConfigOrFail() public
返回此特定键的配置。
-
info() public
有趣的事件。
-
interpolate() protected
用上下文值替换消息字符串中的占位符。
-
levels() public
获取此记录器感兴趣的级别。
-
log() public
实现写入日志文件。
-
notice() public
正常但重要的事件。
-
scopes() public
获取此记录器感兴趣的范围。
-
setConfig() public
设置配置。
-
warning() public
不是错误的异常情况。
方法详情
__construct() ¶ public
__construct(array<string, mixed> $config = [])
根据提供的配置设置受保护的属性
参数
-
array<string, mixed>
$config optional 配置数组
_configDelete() ¶ protected
_configDelete(string $key): void
删除单个配置键。
参数
-
string
$key 要删除的键。
返回值
void
抛出
Cake\Core\Exception\CakeException
如果尝试覆盖现有配置
_configRead() ¶ protected
_configRead(string|null $key): mixed
读取配置键。
参数
-
string|null
$key 要读取的键。
返回值
mixed
_configWrite() ¶ protected
_configWrite(array<string, mixed>|string $key, mixed $value, string|bool $merge = false): void
写入配置键。
参数
-
array<string, mixed>|string
$key 要写入的键。
-
mixed
$value 要写入的值。
-
string|bool
$merge optional True 表示递归合并,'shallow' 表示简单合并,false 表示覆盖,默认为 false。
返回值
void
抛出
Cake\Core\Exception\CakeException
如果尝试覆盖现有配置
_getFilename() ¶ protected
_getFilename(string $level): string
获取文件名
参数
-
string
$level 日志级别。
返回值
string
_rotateFile() ¶ protected
_rotateFile(string $filename): bool|null
如果配置中指定的大小已达到,则轮换日志文件。如果已达到rotate
计数,则会删除最旧的文件。
参数
-
string
$filename 日志文件名
返回值
bool|null
alert() ¶ public
alert(stringStringable $message, mixed[] $context = []): void
必须立即采取行动。
例如:整个网站宕机、数据库不可用等。这应该会触发短信提醒并唤醒你。
参数
-
stringStringable
$message -
mixed[]
$context optional
返回值
void
configShallow() ¶ public
configShallow(array<string, mixed>|string $key, mixed|null $value = null): $this
将提供的配置与现有配置合并。与config()
对嵌套键执行递归合并不同,此方法执行简单合并。
设置特定值
$this->configShallow('key', $value);
设置嵌套值
$this->configShallow('some.nested.key', $value);
一次更新多个配置设置
$this->configShallow(['one' => 'value', 'another' => 'value']);
参数
-
array<string, mixed>|string
$key 要设置的键,或完整的配置数组。
-
mixed|null
$value optional 要设置的值。
返回值
$this
critical() ¶ public
critical(stringStringable $message, mixed[] $context = []): void
严重情况。
例如:应用程序组件不可用、意外异常。
参数
-
stringStringable
$message -
mixed[]
$context optional
返回值
void
debug() ¶ public
debug(stringStringable $message, mixed[] $context = []): void
详细的调试信息。
参数
-
stringStringable
$message -
mixed[]
$context optional
返回值
void
emergency() ¶ public
emergency(stringStringable $message, mixed[] $context = []): void
系统无法使用。
参数
-
stringStringable
$message -
mixed[]
$context optional
返回值
void
error() ¶ public
error(stringStringable $message, mixed[] $context = []): void
不需要立即采取行动的运行时错误,但通常应记录和监控。
参数
-
stringStringable
$message -
mixed[]
$context optional
返回值
void
getConfig() ¶ public
getConfig(string|null $key = null, mixed $default = null): mixed
返回配置。
用法
读取整个配置
$this->getConfig();
读取特定值
$this->getConfig('key');
读取嵌套值
$this->getConfig('some.nested.key');
使用默认值读取
$this->getConfig('some-key', 'default-value');
参数
-
string|null
$key optional 要获取的键,或整个配置的 null。
-
mixed
$default optional 键不存在时的返回值。
返回值
mixed
getConfigOrFail() ¶ public
getConfigOrFail(string $key): mixed
返回此特定键的配置。
此键的配置值必须存在,不能为 null。
参数
-
string
$key 要获取的键。
返回值
mixed
抛出
InvalidArgumentException
info() ¶ public
info(stringStringable $message, mixed[] $context = []): void
有趣的事件。
例如:用户登录、SQL 日志。
参数
-
stringStringable
$message -
mixed[]
$context optional
返回值
void
interpolate() ¶ protected
interpolate(Stringable|string $message, array $context = []): string
用上下文值替换消息字符串中的占位符。
参数
-
Stringable|string
$message 格式化的消息。
-
array
$context optional 占位符值的上下文。
返回值
string
log() ¶ public
log(mixed $level, Stringable|string $message, mixed[] $context = []): void
实现写入日志文件。
参数
-
mixed
$level 要写入的消息的严重级别。
-
Stringable|string
$message 您要记录的消息。
-
mixed[]
$context optional 有关记录消息的附加信息
返回值
void
另请参见
notice() ¶ public
notice(stringStringable $message, mixed[] $context = []): void
正常但重要的事件。
参数
-
stringStringable
$message -
mixed[]
$context optional
返回值
void
setConfig() ¶ public
setConfig(array<string, mixed>|string $key, mixed|null $value = null, bool $merge = true): $this
设置配置。
用法
设置特定值
$this->setConfig('key', $value);
设置嵌套值
$this->setConfig('some.nested.key', $value);
一次更新多个配置设置
$this->setConfig(['one' => 'value', 'another' => 'value']);
参数
-
array<string, mixed>|string
$key 要设置的键,或完整的配置数组。
-
mixed|null
$value optional 要设置的值。
-
bool
$merge optional 是否递归合并或覆盖现有配置,默认为 true。
返回值
$this
抛出
Cake\Core\Exception\CakeException
尝试设置无效键时。
warning() ¶ public
warning(stringStringable $message, mixed[] $context = []): void
不是错误的异常情况。
示例:使用弃用的 API、API 使用不当、不是错误但不可取的事情。
参数
-
stringStringable
$message -
mixed[]
$context optional
返回值
void
属性详情
$_defaultConfig ¶ protected
此类的默认配置
levels
字符串或数组,引擎感兴趣的级别scopes
字符串或数组,引擎感兴趣的范围file
日志文件名path
保存日志的路径。size
用于实现基本的日志文件轮换。如果日志文件大小达到指定大小,则现有文件将通过追加时间戳到文件名进行重命名,并创建新的日志文件。可以是整数字节值或人类可读的字符串值,例如 '10MB'、'100KB' 等。rotate
日志文件在被删除之前被轮换指定的次数。如果值为 0,则旧版本将被删除而不是轮换。mask
在创建日志文件时应用的掩码。保持为空,不会进行 chmod 操作。dirMask
用于创建文件夹的掩码。
类型
array<string, mixed>