【发布时间】:2012-11-21 03:25:57
【问题描述】:
我使用 log4php 来写文件日志。这是配置文件:
<?xml version="1.0" encoding="utf-8" ?>
<configuration xmlns="http://logging.apache.org/log4php/">
<appender name="default" class="LoggerAppenderDailyFile">
<layout class="LoggerLayoutPattern">
<param name="conversionPattern" value="%date %logger %-5level %msg%n" />
</layout>
<param name="file" value="/path/to/log/register-%s.log" />
<param name="datePattern" value="Y-m-d" />
<param name="append" value="true" />
</appender>
<root>
<level value="info" />
<appender_ref ref="default" />
</root>
</configuration>
这是 PHP 中的初始化代码:
require_once('/path/to/log4php/Logger.php');
require_once('/path/to/log4php.xml');
$logger = Logger::getLogger(basename(__FILE__));
$logger->info('Testing');
文件夹权限设置为 777(它是 Ubuntu Linux 服务器),但未创建日志文件。如何调试 log4php?
【问题讨论】:
-
您是否尝试使用
Logger::configure('/path/to/log4php.xml');而不是require? -
刚试过。没运气。日志仍然没有创建。
-
那太奇怪了,我刚刚下载了 log4php,并在调用
$logger = Logger::getLogger(basename(__FILE__));之前用你的代码替换了Logger::configure('/path/to/log4php.xml');insead 的 require,我成功地写入了日志。 error_logs 是怎么说的? -
宾果游戏。 Apache 错误日志显示权限问题。现在修复了。谢谢!请把它放到Answer。
-
我在我的 PHP Laravel 应用程序中使用 Apache log4PHP,以下是我如何初始化记录器:
Logger::configure(base_path().'/config.xml');和 config.xml:<param name="file" value="app/storage/logs/log.ERROR.log" />我的应用程序部署在 Amazon EC2 上,我同意存储目录的权限如下:sudo chmod -R 777 app/storage但是仍然没有创建日志文件。我怎样才能检查出问题所在?