You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4php-dev@logging.apache.org by "Bhumir Sheth (JIRA)" <ji...@apache.org> on 2011/05/02 17:19:03 UTC

[jira] [Commented] (LOG4PHP-138) Permission denied while renaming log file when hundred of users are accessing the application

    [ https://issues.apache.org/jira/browse/LOG4PHP-138?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13027689#comment-13027689 ] 

Bhumir Sheth commented on LOG4PHP-138:
--------------------------------------

Hi Christian,

Thanks for the suggestion.

We tried by checking the maximum file size after locking the file as
suggested by you. However, we are still able to duplicate the issue. We have 
modified the function rollOver() to check the maximum file size as below:

private function rollOver() {

   if(flock($this->fp, LOCK_EX)) {

    if(ftell($this->fp) < $this->getMaximumFileSize())
    {
      flock($this->fp, LOCK_UN);
      return;
    }

  // If maxBackups <= 0, then there is no file renaming to be done.
  if($this->maxBackupIndex > 0) {
.....
.....

Best regards,

Bhumir Sheth

> Permission denied while renaming log file when hundred of users are accessing the application
> ---------------------------------------------------------------------------------------------
>
>                 Key: LOG4PHP-138
>                 URL: https://issues.apache.org/jira/browse/LOG4PHP-138
>             Project: Log4php
>          Issue Type: Bug
>          Components: Code
>    Affects Versions: 2.0
>         Environment: Windows operating system
>            Reporter: Bhumir Sheth
>            Priority: Critical
>             Fix For: 2.0
>
>
> Hi,
> We have developed a web application and integrated with log4php, which is used by hundred of users. When the size of log file exceed the maximum file size, it calls rollOver() function to create back up file for log file and truncate the current log file. 
> We faced one error while renaming the file from "filename" to "filename.1". This error is generated when hundred of users are accessing the application at the same time. The error is generated as below:
> PHP Warning:  rename(C:\PHP\errors/Test_Module.log,C:\PHP\errors/Test_Module.log.1) [<a href='function.rename'>function.rename</a>]: Permission denied in C:\Inetpub\wwwroot\Test_Application\System\System_Logger\log4php\src\main\php\appenders\LoggerAppenderRollingFile.php on line 140
> Also, back up of log files are not created in sequence when above warning is generated. For example, log file "Test_Module.log" is already exists and rollOver() function is called to create new back up file then it creates "Test_Module.log.4" instead of "Test_Module.log.1".
> Moreover, log file has given all the required permissions and it works fine while appending the logs.
> We would appreciate if you can help us by providing a solution or work-around for resolving this issue.
> Please let me know if more details are required.
> Thank you.
> Best regards,
> Bhumir Sheth

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira