修改默认日志位置

我们平常的开发中可能一直把laravel的日志文件放在默认位置不会有什么影响,但如果我们的项目上线时是全量部署,每次部署都是git中最新的代码,那这个时候每次都会清空我们的日志,显示这不是我们所期望的,好在laravel有提供我们修改的方法。

我们这里以放在/var/log/nginx/app/phphub/phphub.log为例

增加日志处理类#

首先我们新建文件,app/Foundation/Bootstrap/ConfigureLogging.php,代码如下:

namespace App\Foundation\Bootstrap;

use Illuminate\Log\Writer;

use Illuminate\Contracts\Foundation\Application;

class ConfigureLogging

{

/**

* 设置应用的Monolog处理程序

*

* @param \Illuminate\Contracts\Foundation\Application $app

* @param \Illuminate\Log\Writer $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 \Illuminate\Contracts\Foundation\Application $app

* @param \Illuminate\Log\Writer $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 \Illuminate\Contracts\Foundation\Application $app

* @param \Illuminate\Log\Writer $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 \Illuminate\Contracts\Foundation\Application $app

* @param \Illuminate\Log\Writer $log

* @return void

*/

protected function configureSyslogHandler(Application $app, Writer $log)

{

$log->useSyslog($app->make('config')->get('app.log_name', 'laravel'));

}

/**

* 设置应用errorlog模式下的Monolog处理程序

*

* @param \Illuminate\Contracts\Foundation\Application $app

* @param \Illuminate\Log\Writer $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 App\Foundation\Bootstrap\ConfigureLogging();

$configureLogging->configureHandlers($app, $app->log);

});

这时候我们可以使用\Log::info('test log info');测试一下,应该就会将日志记录在/var/log/nginx/app/phphub/phphub.log中了。

以上这篇Laravel 修改默认日志文件名称和位置的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

php默认日志位置,Laravel 修改默认日志文件名称和位置的例子相关推荐

  1. eclipse修改maven本地存放位置及修改默认镜像为淘宝镜像

    eclipse修改maven下载jar存放位置及下载镜像地址 在使用maven项目时,因为默认会把地址存放到系统根目录中(通常在C盘),导致系统盘占用太多,而且使用默认的下载地址会非常缓慢,这时候就需 ...

  2. 设置mysql默认字符集_MySQL之修改默认引擎和字符集

    一.数据库引擎 1.1 查看数据库引擎 mysql> show engines; +--------------------+---------+------------------------ ...

  3. android系统默认铃声,Android系统修改默认铃声

    Andriod手机的铃声默认保存在system/media/audio/下面,有四个文件夹,分别是alarms,notifications,ringtones,ui.对应闹钟.通知.铃声.UI音效.r ...

  4. vscode设置默认新建html,VScode修改默认生成的HTML模板的方法

    在VScode中,新建HTML页面时可以输入!+tab键,快速生成HTML代码模板,默认生成的代码模板如下: Document 由于生成的代码模板中有一些不需要,所以每次生成后都需要删除,很麻烦.其实 ...

  5. android 设置默认铃声,Android系统修改默认铃声

    Andriod手机的铃声默认保存在system/media/audio/下面,有四个文件夹,分别是alarms,notifications,ringtones,ui.对应闹钟.通知.铃声.UI音效.r ...

  6. mac永久更换php默认版本,mac如何修改默认php

    mac修改默认php的方法:首先新建一个".bas_profile"文件并编辑:然后在该文件中输入自己想要的php版本:接着通过"source ~/.bash_profi ...

  7. 计算机更改默认设置,电脑怎么修改默认打开程序 Win7设置默认打开程序方法详解...

    在使用电脑的时候,我们经常会遇到这样的情况,当电脑中安装有多个浏览器.播放器时,总有一些软件会修改我们的默认打开程序,比如安装搜狗浏览器后,以后打开网页总是默认以搜狗浏览器打开,而之前的默认IE浏览器 ...

  8. linux 默认启动内核,ubuntu修改默认启动内核

    一.序言 新换的笔记本由于太新的主板芯片,驱动还没有完善.每次升级系统内核都要小心谨慎.经常发生部分硬件驱动失败的事情. 系统Ubuntu 20.04.2 LTS x86_64 ,我现在使用的两个版本 ...

  9. 批量修改文件名,文件名称是小写字母如何一键转换为大写字母

    怎么批量将文件名称修改为大写?假如现在有大量文件,这些文件的名称为小写字母,现在需要将所有文件中的小写字母改为大写字母,你会使用什么方法?很多小伙伴可能不知道该如何操作,小编今天就来分享操作方法,感兴 ...

最新文章

  1. php 和第二天作对比,php第二天
  2. Scrum介绍——续
  3. Python--判断一个字符串是否包含某子串的几种方法
  4. 中科院计算所开源Easy Machine Learning:让机器学习应用开发简单快捷 By 机器之心2017年6月13日 13:05 今日,中科院计算所研究员徐君在微博上宣布「中科院计算所开源了
  5. Python爬虫开发:requests库的使用--发送带参数post请求
  6. ant build里如何指定classpath
  7. 前端学习(2698):重读vue电商网站19之处理图片预览操作
  8. 【JEECG技术文档】JEECG在线聊天插件功能集成文档
  9. Win8.1 JAVA环境配置全过程
  10. java 下载文件大小_如何在浏览器中显示使用角度5下载的文件的文件大小?
  11. VIM - 01. 标准模式 - 下简单操作
  12. Skype for business server 2015和PSTN集成后,无法完成呼叫
  13. Strategy模式C++实现
  14. 受康奈尔笔记法启发设计的程序员算法手写本
  15. 27学java能找到工作吗_今年27,想自学Java,转行程序员,请问可行吗?
  16. 计算机中函数的括号怎么输,Excel函数中括号的使用
  17. mysql性能分析工具_MySQL性能分析、及调优工具使用详解
  18. iPhoneSE3变化却提高了价格,安卓手机获得了喘息的空间
  19. lan pci 联想开机_联想bios设置硬盘启动
  20. 库存数量控制中储备定额方法的改进与实现

热门文章

  1. How to upload windows Sysprep Files to VMware vCenter Server Appliance 6.5(vC
  2. Spring+SpringMVC+MyBatis+easyUI整合基础篇(十)SVN搭建
  3. JQuery常用知识点汇总
  4. MAC下面maven如何设置让其实下载源码
  5. mysql cluster 7.1搭建
  6. '800a0005' 图片上传出现写入文件失败的错误 -- 修改pload_5xsoft.inc
  7. corba的兴衰_数据科学薪酬的兴衰
  8. 更换mysql_Docker搭建MySQL主从复制
  9. leetcode 224. 基本计算器(栈)
  10. leetcode1451. 重新排列句子中的单词(排序)