豁然高

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

fuelphp 日志文件保存路径以及日志文件名变更中遇到的问题总结

在不修改配置文件,也就是默认的情况下,fuelphp的日志文件是按照如下路径保存的

 /fuel/app/logs文件夹是固定不变的,YYYY/MM/DD.php是根据日志的生成时间自动生成的。

即在默认情况下,文件夹YYYY和MM如果不存在就会自动生成

1
/fuel/app/logs/YYYY/MM/DD.php

 

 

如果想更改日志文件的保存位置,即不想保存在/fuel/app/logs 文件夹中,而要保存在其他地方,那么只要在fuel/app/config/config.php中修改log_path即可

1
2
3
//'log_path'         => APPPATH.'logs/',
 'log_path'         => APPPATH.'logs/batch',     //①
// 'log_path'         => APPPATH.'logs/'.date('Y/m').DS, // ②

 

注意:如果要修改log_path,一定要保证指定的路径要存在,否则会报错

我所犯的错误如②,指定的路径是随着时间的变化而变化的,一旦年份或者月份变更,指定的路径就不存在了,就会报错

 

如果想修改文件名或者扩展名,那就要修改log_file。

1
'log_file'         => date('d').'.log',   // "DD.php" という形式

注意:在不修改log_file的情况下,也就是默认情况下,fuelphp会在log_path指定的路径下自动生成YYYY文件夹和MM文件夹以及DD.php日志文件

但是一旦修改了log_file,那么就不会再自动生成YYYY文件夹和MM文件夹,而是按照指定的方式生成相应的文件和文件夹

1
'log_file'         => date('d').'.log',   // 这种情况下,只会生成DD.log形式的日志文件,而不会生成文件夹,如果既想改文件名,也想和默认情况下生成YYYY和MM文件夹,可按如下方式设置<br>'log_file'         => date('Y/m').DS.date('d').'.log',  //这种情况下会按照指定的路径生成相应的文件夹

  

 

我的需求是只想改变日志文件的扩展名,即DD.php改为DD.log

初期修改如下

1
2
'log_file'         => date('d').'.log',   // "DD.php" という形式
'log_path'         => APPPATH.'logs/'.date('Y/m').DS, // APPPATH/YYYY/MM/  

结果刚改完后没什么错误,结果月份一变就报错了,原因如前面所述,月份变了后,log_path指定的路径不存在了。

正确的修改方式如下,其实只需修改log_file即可,只是要在文件名前加上变化的路径名

1
2
'log_file'         => date('Y/m').DS.date('d').'.log',   // "DD.php" という形式
// 'log_path'         => APPPATH.'logs'.DS, // APPPATH/YYYY/MM/

  

总结:固定不变的路径部分设置log_path,变化的部分设置log_file。log_file不但可以设置文件名,也可以设置文件的后半部分的保存路径

log_path指定的路径要求必须存在,不会自动生成,不存在就会报错

log_file指定的路径不要求必须存在,若不存在就会自动生成,只是log_file指定的路径会保存在log_path保存的路径之下

 

posted on   豁然高  阅读(388)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示