我使用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?
发布于 2012-11-21 13:08:20
使用config调用的正确方式是:
require_once('/path/to/log4php/Logger.php');
Logger::configure('/path/to/log4php.xml');
$logger = Logger::getLogger(basename(__FILE__));
$logger->info('Testing');正如Shivan Raptor所说,首先要做的是检查日志中的权限问题。
发布于 2017-09-19 15:42:32
尝试此操作一次
乍看起来很复杂,但事实并非如此。
main.php
require_once('/path/to/log4php/Logger.php');
Logger::configure('log4php.xml');
Class Log
{
private $log;
public function __construct()
{
$this->log = Logger::getLogger(__CLASS__);
}
public function myLog()
{
//this prints your data.
$this->log->info("Hello, this is log here");
}
}
//simply call the function
$log=new Log();
$log->myLog();log4php.xml
<?xml version="1.0" encoding="UTF-8"?>
<log4php:configuration xmlns:log4php="http://logging.apache.org/log4php/">
<appender name="fileappender" class="LoggerAppenderFile">
<layout class="LoggerLayoutSimple" />
<param name="file" value="/path/to/log/register-%s.log" />
<!-- <param name="append" value="true" /> -->
</appender>
<logger name="Log">
<appender_ref ref="fileappender" />
</logger>
</log4php:configuration>注意::不要忘记将777权限授予文件夹:)
https://stackoverflow.com/questions/13485872
复制相似问题