首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >log4php :无法创建日志文件

log4php :无法创建日志文件
EN

Stack Overflow用户
提问于 2012-11-21 11:25:57
回答 2查看 6.2K关注 0票数 2

我使用log4php来写文件日志。配置文件如下:

代码语言:javascript
复制
<?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编写的初始化代码:

代码语言:javascript
复制
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?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-21 13:08:20

使用config调用的正确方式是:

代码语言:javascript
复制
require_once('/path/to/log4php/Logger.php');
Logger::configure('/path/to/log4php.xml');
$logger = Logger::getLogger(basename(__FILE__));
$logger->info('Testing');

正如Shivan Raptor所说,首先要做的是检查日志中的权限问题。

票数 2
EN

Stack Overflow用户

发布于 2017-09-19 15:42:32

尝试此操作一次

乍看起来很复杂,但事实并非如此。

main.php

代码语言:javascript
复制
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

代码语言:javascript
复制
<?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权限授予文件夹:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13485872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档