Laravel 修改默认日志文件名称和位置的例子
时间:2022-07-27
本文章向大家介绍Laravel 修改默认日志文件名称和位置的例子,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
修改默认日志位置
我们平常的开发中可能一直把laravel的日志文件放在默认位置不会有什么影响,但如果我们的项目上线时是全量部署,每次部署都是git中最新的代码,那这个时候每次都会清空我们的日志,显示这不是我们所期望的,好在laravel有提供我们修改的方法。
我们这里以放在/var/log/nginx/app/phphub/phphub.log为例
增加日志处理类#
首先我们新建文件,app/Foundation/Bootstrap/ConfigureLogging.php,代码如下:
<?php
namespace AppFoundationBootstrap;
use IlluminateLogWriter;
use IlluminateContractsFoundationApplication;
class ConfigureLogging
{
/**
* 设置应用的Monolog处理程序
*
* @param IlluminateContractsFoundationApplication $app
* @param IlluminateLogWriter $log
* @return void
*/
public function configureHandlers(Application $app, Writer $log)
{
$method = 'configure'.ucfirst($app['config']['app.log']).'Handler';
$this- {$method}($app, $log);
}
/**
* 设置应用single模式下的Monolog处理程序
*
* @param IlluminateContractsFoundationApplication $app
* @param IlluminateLogWriter $log
* @return void
*/
protected function configureSingleHandler(Application $app, Writer $log)
{
$config = $app- make('config');
$filename = $config- get('app.log_path', '/var/log/nginx/app/system') . '/' . $config- get('app.log_name', 'laravel') . '.log';
$log- useFiles($filename);
}
/**
* 设置应用daily模式下的Monolog处理程序
*
* @param IlluminateContractsFoundationApplication $app
* @param IlluminateLogWriter $log
* @return void
*/
protected function configureDailyHandler(Application $app, Writer $log)
{
$config = $app- make('config');
$filename = $config- get('app.log_path', '/var/log/nginx/app/system') . '/' . $config- get('app.log_name', 'laravel') . '.log';
$log- useDailyFiles(
$filename,
$app- make('config')- get('app.log_max_files', 5)
);
}
/**
* 设置应用syslog模式下的Monolog处理程序
*
* @param IlluminateContractsFoundationApplication $app
* @param IlluminateLogWriter $log
* @return void
*/
protected function configureSyslogHandler(Application $app, Writer $log)
{
$log- useSyslog($app- make('config')- get('app.log_name', 'laravel'));
}
/**
* 设置应用errorlog模式下的Monolog处理程序
*
* @param IlluminateContractsFoundationApplication $app
* @param IlluminateLogWriter $log
* @return void
*/
protected function configureErrorlogHandler(Application $app, Writer $log)
{
$log- useErrorLog();
}
}
配置日志存放路径#
在.env中增加
APP_NAME=phphub
在config/app.php中增加
/**
* 应用程序名称
*/
'name' = env('APP_NAME', 'laravel'),
/**
* 日志位置
*/
'log_path' = '/var/log/nginx/app/' . env('APP_NAME', 'laravel'),
/**
* 日志文件名称
*/
'log_name' = env('APP_NAME', 'laravel'),
/**
* 日志文件最大数
*/
'log_max_files' = '30',
应用我们新的处理类#
修改Bootstrap/app.php,在return $app前增加代码
$app- configureMonologUsing(function($monolog) use ($app) {
$configureLogging = new AppFoundationBootstrapConfigureLogging();
$configureLogging- configureHandlers($app, $app- log);
});
这时候我们可以使用Log::info(‘test log info’);测试一下,应该就会将日志记录在/var/log/nginx/app/phphub/phphub.log中了。
以上这篇Laravel 修改默认日志文件名称和位置的例子就是小编分享给大家的全部内容了,希望能给大家一个参考。
- TCP/IP, WebSocket 和 MQTT
- struts2: 玩转 rest-plugin
- 设置系统环境变量立即生效的VBS脚本
- velocity模板引擎学习(1)
- mybatis 3.x 缓存Cache的使用
- XStream、JAXB 日期(Date)、数字(Number)格式化输出xml
- mac: vmware fusion中cent os启动假死的解决办法
- java:hibernate + oracle之坑爹的clob
- 启用WCF NetTcpBinding的共享端口
- asp中的md5/sha1/sha256算法收集
- UE4从零搭建CF游戏关卡(蓝图篇)
- 通用的序列号生成器库
- 利用Geneva开发SOA的安全模型
- STOMP协议介绍
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- 一天一大 leet(模式匹配)难度:中等 DAY-22
- 一天一大 leet(二进制求和)难度:简单 DAY-23
- xmake v2.3.7 发布, 新增 tinyc 和 emscripten 工具链支持
- 一天一大 leet(最接近的三数之和)难度:中等 DAY-24
- Django渲染模板
- 一天一大 leet(移除重复节点)难度:简单 DAY-26
- Spring Boot 项目瘦身指南,瘦到不可思议!
- BigData--Hadoop数据压缩
- 面试官问我什么是JMM
- django+nginx+gunicorn部署配置
- JVM的YGC,这次被它搞惨了!
- ubuntu修复linux和windows双系统下挂载ntfs硬盘出错问题
- 一天一大 leet(长度最小的子数组)难度:中等 DAY-28
- Qt音视频开发24-ffmpeg音视频同步
- django使用django-crontab实现定时任务