laravel的日志保存目录能不能不保存到 storage/logs 目录下?怎么修改?
可不可以自定义文件名?
按照文档配置按日期分割,不管用!还是在laravel.log 里面追加。
laravel的日志保存目录能不能不保存到 storage/logs 目录下?怎么修改?
可不可以自定义文件名?
按照文档配置按日期分割,不管用!还是在laravel.log 里面追加。
自定义日志
<code class="php">use MonologHandlerStreamHandler;
use MonologLogger;
$log = new Logger('vikin');
$log->pushHandler(
new StreamHandler(
storage_path('logs/vikin.log'),
Logger::INFO
)
);
$log->addInfo("test");</code>1、可以使用该方法对laravel原有日志覆盖【一个info,其他级别可自行扩展】
2、作为一个laravel扩展,在需要单独记录日志的地方记录;
<code class="php">namespace 你自定义命名空间ConfigureLogging;
use IlluminateFoundationBootstrapConfigureLogging as BaseConfigureLogging;
use MonologFormatterLineFormatter;
use MonologHandlerStreamHandler;
use MonologLogger;
class CustomLog extends BaseConfigureLogging
{
protected function configureSingleHandler(Application $app, Writer $log)
{
// 同方法1一样, 设置日志路径、设置日志级别
$path = storage_path('logs/vikin.log');
$level = Logger::INFO;
$logStreamHandler = new StreamHandler($path, $level);
// 日志格式:使用laravel原有格式:
// the default output format is "[%datetime%] %channel%.%level_name%: %message% %context% %extra%
"
$format = "[%datetime%] %channel%.%level_name%: %message% %context% %extra%
";
$formatter = new LineFormatter($format);
$logStreamHandler->setFormatter($formatter);
// 输出日志
$logger = $log->getMonolog();
$logger->pushHandler($logStreamHandler);
}
}</code>重写
configureSingleHandler就相当于重写了一个日志处理器;
5.3.3LOGA日志系统查看详情LOGA日志系统即名为"Log AsThis",是如斯开发的日志系统,取简洁,追求效率之意,本日志系统基于PHP+MySQL平台开发,结构简洁,运行速度极快。 LOGA日志系统 5.3.3 更新日志:2018-07-30 [优化]优化后台SESSION; [修复]修复同一域名不同目录安装多个程序潜在问题; [增强]搜索支持extra选项; [更改]群组名,控制器名
150
![]()
修改根目录下的
composer.json文件
<code class="json">"psr-4": {
"App\": "app/",
"你自定义命名空间\": "文件路径/"
}</code>在
/app/Http/Kernel.php文件中,扩展Kernel类的构造方法
<code class="php">use IlluminateContractsFoundationApplication;
use IlluminateContractsEventsDispatcher;
public function __construct(Application $app, Dispatcher $events)
{
parent::__construct($app, $events);
array_walk($this->bootstrappers, function(&$bootstrapper)
{
if($bootstrapper === 'IlluminateFoundationBootstrapConfigureLogging')
{
//替换为我们自定义的日志处理器
$bootstrapper = '你自定义命名空间ConfigureLogging';
}
});
}</code><code class="php">Log::info('自定义log处理器');</code>创建一个ServiceProvider和facade(个人习惯喜欢使用facade);添加至app config中,使用composer自动加载即可;
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号