首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LOG4PHP文件大小错误

LOG4PHP文件大小错误
EN

Stack Overflow用户
提问于 2013-03-28 02:42:37
回答 2查看 2.1K关注 0票数 1

我在GoDaddy共享主机(php 5.3.13)上运行这个脚本作为cron作业,并且使用log4php。脚本似乎运行得很好,并且完成了。但是当log4php试图完成时,它会抛出这个错误。

它看起来确实输出了文件及其内容。我甚至把文件的权限改成了777。它似乎在执行文件大小检查时抛出了这个错误...

如能对此错误的原因/解决方案提供帮助,我们将不胜感激。

错误:

代码语言:javascript
复制
<b>Fatal error</b>: Uncaught exception 'ErrorException' with message '2: filesize() [&lt;a href='function.filesize'&gt;function.filesize&lt;/a&gt;]: stat failed for log.txt, file: /home/content/89/10338789/html/Forum/phpBB3/program/log4php/appenders/LoggerAppenderRollingFile.php, line: 223' in /home/content/89/10338789/html/Forum/phpBB3/program/log4php/appenders/LoggerAppenderRollingFile.php:223
Stack trace:
#0 [internal function]: errorHandler(2, 'filesize() [&lt;a ...', '/home/content/8...', 223, Array)
#1 /home/content/89/10338789/html/Forum/phpBB3/program/log4php/appenders/LoggerAppenderRollingFile.php(223): filesize('log.txt')
#2 /home/content/89/10338789/html/Forum/phpBB3/program/log4php/appenders/LoggerAppenderFile.php(165): LoggerAppenderRollingFile-&gt;write(NULL)
#3 /home/content/89/10338789/html/Forum/phpBB3/program/log4php/LoggerAppender.php(85): LoggerAppenderFile-&gt;close()
#4 [internal function]: LoggerAppender-&gt;__destruct()
#5 {main}
thrown in <b>/home/content/89/10338789/html/Forum/phpBB3/program/log4php/appenders/LoggerAppenderRollingFile.php</b> on line <b>223</b><br />

配置文件:

代码语言:javascript
复制
<configuration xmlns="http://logging.apache.org/log4php/">

    <appender name="myConsoleAppender" class="LoggerAppenderConsole">
        <filter class="LoggerFilterLevelRange">
            <param name="levelMin" value="info" />
        </filter>
    </appender>

    <appender name="myFileAppender" class="LoggerAppenderRollingFile">
        <layout class="LoggerLayoutPattern">
            <param name="conversionPattern" value="%date %-5level - %message%newline" />
        </layout>
        <param name="file" value="log.txt" />
        <param name="maxFileSize" value="10MB" />
    </appender>

    <appender name="myEmailAppender" class="LoggerAppenderMail">
        <layout class="LoggerLayoutSimple" />
        <param name="to" value="jonathonwisnoski@hotmail.com" />
        <param name="from" value="logger@xxx.ca" />
        <filter class="LoggerFilterLevelRange">
            <param name="levelMin" value="info" />
        </filter>
    </appender>

    <root>
        <appender_ref ref="myConsoleAppender" />
        <appender_ref ref="myFileAppender" />
        <appender_ref ref="myEmailAppender" />
    </root>
</configuration>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-05 08:23:42

这是一个LoggerAppenderRollingFile问题,您需要使用日志文件的绝对路径(解决方法)。脚本执行后,将调用LoggerAppender::__destruct,并且找不到相关文件日志(log.txt)。

更改:

代码语言:javascript
复制
log4php.appender.<yourappender>.file=log.txt 

代码语言:javascript
复制
log4php.appender.<yourappender>.file=/absolutepath/log.txt

相关主题:

  1. http://www.php.net/manual/en/function.register-shutdown-function.php#92657
  2. Why does getcwd() returns / in __destruct()?
  3. https://bugs.php.net/bug.php?id=34206
票数 5
EN

Stack Overflow用户

发布于 2013-09-13 22:56:17

...or将LoggerAppenderRollingFile.php中的错误代码行更改为:

代码语言:javascript
复制
if (filesize(realpath($this->file)) > $this->maxFileSize) {

http://php.net/manual/en/function.realpath.php

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

https://stackoverflow.com/questions/15666893

复制
相关文章

相似问题

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