You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4php-user@logging.apache.org by Mohit Srivastava <sr...@gmail.com> on 2011/06/10 12:53:09 UTC

File name in log file

Hi all,

I write a wrapper over log4php api named as loggerimplementation.php

Now i faced a problem in log files. When i called a function for logging
defined in loggerimplementation.

Log file generated as:

2011-06-10 10:49:17 [INFO] Log4phpTest: Hello (at
C:\xampp\htdocs\logger\Loggerimplementation.php line 74)
2011-06-10 10:50:08 [INFO] Log4phpTest: Hello (at
C:\xampp\htdocs\logger\Loggerimplementation.php line 74)
2011-06-10 11:04:01 [INFO] Log4phpTest: Hello (at
C:\xampp\htdocs\logger\Loggerimplementation.php line 78)

Now , as you can see %F will always show wrapper file name coz it always
called from there. But I want real file name which one used this wrapper.

So please suggest me the way for this.

Or
tell me from where %F details i can get?

Waiting for reply.

--
Mohit

Re: File name in log file

Posted by Mohit Srivastava <sr...@gmail.com>.
Thanks it works.

On Fri, Jun 10, 2011 at 5:51 PM, Ivan Habunek <iv...@gmail.com>wrote:

> Yes you can, but you have to do it manually in your wrapper class. %F
> and %L will always return the values from where the logging function
> was called. In your case the wrapper.
>
> If you remove %F and %L from the pattern, you can append the location
> info you need manually. Something like this:
>
> --begin-----------------------------------------------------------
>
> require 'org.apache.log4php/src/main/php/Logger.php';
>
> class LogWrapper
> {
>        private $logger;
>
>        public function __construct()
>        {
>                $this->logger = Logger::getLogger("LogWrapper");
>        }
>
>        public function log($message)
>        {
>                $trace = debug_backtrace();
>                $file = $trace[0]['file'];
>                $line = $trace[0]['line'];
>
>                $this->logger->info($message . " (at $file line $line)");
>        }
> }
>
> $wrap = new LogWrapper();
> $wrap->log("Hello");
>
> --end-----------------------------------------------------------
>
> Try it out.
>
> Regards,
> Ivan
>
>
> On 10 June 2011 13:46, Mohit Srivastava <sr...@gmail.com>
> wrote:
> > Hi Christian,
> >
> > This is my config file:
> >
> > <log4php:configuration xmlns:log4php="http://logging.apache.org/log4php/
> ">
> >     <appender name="default" class="LoggerAppenderDailyFile">
> >         <param name="file" value="logs/%s.log" />
> >         <param name="datePattern" value="Ymd" />
> >         <layout class="LoggerLayoutPattern">
> >             <param name="ConversionPattern" value="%d{Y-m-d H:i:s} [%p]
> %c:
> > %m (%F at %L)" />
> >         </layout>
> >     </appender>
> >
> >         <root>
> >             <level value="DEBUG" />
> >             <appender_ref ref="default" />
> >         </root>
> >
> >     </log4php:configuration>
> >
> > The bold characters are responsible for filename in log file. As it
> called
> > from loggerimplementation.php.
> > So, it always show its name, but the real file used loggerimplementation
> as
> > wrapper. So, i want to know , is there any way i can define thing like %F
> so
> > that i can get real file name.
> >
> > --
> > Mohit
> >
> > On Fri, Jun 10, 2011 at 5:07 PM, Mohit Srivastava
> > <sr...@gmail.com> wrote:
> >>
> >> <?php
> >>
> >> /*
> >> Looger.php is included.
> >> */
> >> require_once('log4php/Logger.php');
> >> /*
> >> This class is use to generate a log file.
> >> */
> >> class Loggerimplementation extends Exception{
> >> /*
> >>  Member for logger Object.
> >> */
> >>     private $loggerObj;
> >>
> >> /*
> >>  Member for caller class ie class called loggerImplementation class.
> >> */
> >>     private $callerClass;
> >> /*
> >> Constructor intialize the member caller class.
> >> Also configure it with config.xml.
> >> */
> >>     public function __construct($ClassName) {
> >>        $this->callerClass=$ClassName;
> >>        if($this->callerClass==NULL)
> >>             throw new NullValueException('Caller Class Value is NULL');
> >>
> >>        $loggerConfig = 'log4php/xml/config.xml';
> >>         Logger::configure($loggerConfig);
> >>
> >>         $this->loggerObj = Logger::getLogger($this->callerClass);
> >>
> >>         if($this->loggerObj==NULL)
> >>             throw new NullValueException('Logger Object Created is
> NULL');
> >>     }
> >> /*
> >> Constructor intialize the member caller class.
> >> Also configure it with anotherconfig.xml. This constructor is used for
> >> warn, fatal,error cases.
> >> */
> >>     public function __constructlevel($ClassName,$isErrSet) {
> >>        if($isErrSet)
> >>         {
> >>             $this->callerClass=ClassName;
> >>             if($this->callerClass==NULL)
> >>                 throw new NullValueException('Caller Class Value is
> >> NULL');
> >>
> >>             $loggerConfig = 'log4php/xml/config.xml';
> >>             Logger::configure($loggerConfig);
> >>
> >>             $this->loggerObj = Logger::getLogger($this->callerClass);
> >>             if($this->loggerObj==NULL)
> >>                 throw new NullValueException('Logger Object Created is
> >> NULL');
> >>         }
> >>         else
> >>         {
> >>             throw new UnexpectedValueException("isErrSet value is
> wrong");
> >>             }
> >>     }
> >> /*
> >> function used to generate log message. In this , level will be check as
> it
> >> passed as parameter according to which a log file is generated.
> >> */
> >>     public function logMessage($message,$level)
> >>     {
> >>
> >>         if($message=="null")
> >>             throw new NullValueException("message cant be null");
> >>
> >>         if($level!="INFO" && $level!="DEBUG" && $level!="WARN" &&
> >> $level!="ERROR" && $level!="FATAL")
> >>             throw new UnexpectedValueException("Invalid value of Log
> >> Level");
> >>         if($level=="DEBUG")
> >>             $this->loggerObj->debug($message);
> >>         else
> >>             if($level=="INFO")
> >>             $this->loggerObj->info($message);
> >>         else
> >>             if($level=="WARN")
> >>             $this->loggerObj->warn($message);
> >>         else
> >>             if($level=="ERROR")
> >>             $this->loggerObj->error($message);
> >>         else
> >>             if($level=="FATAL")
> >>             $this->loggerObj->fatal($message);
> >>     }
> >> }
> >>
> >>
> >> ?>
> >>
> >> this is my wrapper.
> >>
> >>
> >> On Fri, Jun 10, 2011 at 4:35 PM, Christian Grobmeier <
> grobmeier@gmail.com>
> >> wrote:
> >>>
> >>> Hi,
> >>>
> >>> can you show us the Logging code?
> >>>
> >>> Esspecially the Logger::getLogger code is of interest.
> >>>
> >>> Thanks
> >>> Christian
> >>>
> >>> On Fri, Jun 10, 2011 at 12:53 PM, Mohit Srivastava
> >>> <sr...@gmail.com> wrote:
> >>> > Hi all,
> >>> >
> >>> > I write a wrapper over log4php api named as loggerimplementation.php
> >>> >
> >>> > Now i faced a problem in log files. When i called a function for
> >>> > logging
> >>> > defined in loggerimplementation.
> >>> >
> >>> > Log file generated as:
> >>> >
> >>> > 2011-06-10 10:49:17 [INFO] Log4phpTest: Hello (at
> >>> > C:\xampp\htdocs\logger\Loggerimplementation.php line 74)
> >>> > 2011-06-10 10:50:08 [INFO] Log4phpTest: Hello (at
> >>> > C:\xampp\htdocs\logger\Loggerimplementation.php line 74)
> >>> > 2011-06-10 11:04:01 [INFO] Log4phpTest: Hello (at
> >>> > C:\xampp\htdocs\logger\Loggerimplementation.php line 78)
> >>> >
> >>> > Now , as you can see %F will always show wrapper file name coz it
> >>> > always
> >>> > called from there. But I want real file name which one used this
> >>> > wrapper.
> >>> >
> >>> > So please suggest me the way for this.
> >>> >
> >>> > Or
> >>> > tell me from where %F details i can get?
> >>> >
> >>> > Waiting for reply.
> >>> >
> >>> > --
> >>> > Mohit
> >>> >
> >>>
> >>>
> >>>
> >>> --
> >>> http://www.grobmeier.de
> >>
> >
> >
>

Re: File name in log file

Posted by Ivan Habunek <iv...@gmail.com>.
Yes you can, but you have to do it manually in your wrapper class. %F
and %L will always return the values from where the logging function
was called. In your case the wrapper.

If you remove %F and %L from the pattern, you can append the location
info you need manually. Something like this:

--begin-----------------------------------------------------------

require 'org.apache.log4php/src/main/php/Logger.php';

class LogWrapper
{
	private $logger;
	
	public function __construct()
	{
		$this->logger = Logger::getLogger("LogWrapper");
	}
	
	public function log($message)
	{
		$trace = debug_backtrace();
		$file = $trace[0]['file'];
		$line = $trace[0]['line'];

		$this->logger->info($message . " (at $file line $line)");
	}
}

$wrap = new LogWrapper();
$wrap->log("Hello");

--end-----------------------------------------------------------

Try it out.

Regards,
Ivan


On 10 June 2011 13:46, Mohit Srivastava <sr...@gmail.com> wrote:
> Hi Christian,
>
> This is my config file:
>
> <log4php:configuration xmlns:log4php="http://logging.apache.org/log4php/">
>     <appender name="default" class="LoggerAppenderDailyFile">
>         <param name="file" value="logs/%s.log" />
>         <param name="datePattern" value="Ymd" />
>         <layout class="LoggerLayoutPattern">
>             <param name="ConversionPattern" value="%d{Y-m-d H:i:s} [%p] %c:
> %m (%F at %L)" />
>         </layout>
>     </appender>
>
>         <root>
>             <level value="DEBUG" />
>             <appender_ref ref="default" />
>         </root>
>
>     </log4php:configuration>
>
> The bold characters are responsible for filename in log file. As it called
> from loggerimplementation.php.
> So, it always show its name, but the real file used loggerimplementation as
> wrapper. So, i want to know , is there any way i can define thing like %F so
> that i can get real file name.
>
> --
> Mohit
>
> On Fri, Jun 10, 2011 at 5:07 PM, Mohit Srivastava
> <sr...@gmail.com> wrote:
>>
>> <?php
>>
>> /*
>> Looger.php is included.
>> */
>> require_once('log4php/Logger.php');
>> /*
>> This class is use to generate a log file.
>> */
>> class Loggerimplementation extends Exception{
>> /*
>>  Member for logger Object.
>> */
>>     private $loggerObj;
>>
>> /*
>>  Member for caller class ie class called loggerImplementation class.
>> */
>>     private $callerClass;
>> /*
>> Constructor intialize the member caller class.
>> Also configure it with config.xml.
>> */
>>     public function __construct($ClassName) {
>>        $this->callerClass=$ClassName;
>>        if($this->callerClass==NULL)
>>             throw new NullValueException('Caller Class Value is NULL');
>>
>>        $loggerConfig = 'log4php/xml/config.xml';
>>         Logger::configure($loggerConfig);
>>
>>         $this->loggerObj = Logger::getLogger($this->callerClass);
>>
>>         if($this->loggerObj==NULL)
>>             throw new NullValueException('Logger Object Created is NULL');
>>     }
>> /*
>> Constructor intialize the member caller class.
>> Also configure it with anotherconfig.xml. This constructor is used for
>> warn, fatal,error cases.
>> */
>>     public function __constructlevel($ClassName,$isErrSet) {
>>        if($isErrSet)
>>         {
>>             $this->callerClass=ClassName;
>>             if($this->callerClass==NULL)
>>                 throw new NullValueException('Caller Class Value is
>> NULL');
>>
>>             $loggerConfig = 'log4php/xml/config.xml';
>>             Logger::configure($loggerConfig);
>>
>>             $this->loggerObj = Logger::getLogger($this->callerClass);
>>             if($this->loggerObj==NULL)
>>                 throw new NullValueException('Logger Object Created is
>> NULL');
>>         }
>>         else
>>         {
>>             throw new UnexpectedValueException("isErrSet value is wrong");
>>             }
>>     }
>> /*
>> function used to generate log message. In this , level will be check as it
>> passed as parameter according to which a log file is generated.
>> */
>>     public function logMessage($message,$level)
>>     {
>>
>>         if($message=="null")
>>             throw new NullValueException("message cant be null");
>>
>>         if($level!="INFO" && $level!="DEBUG" && $level!="WARN" &&
>> $level!="ERROR" && $level!="FATAL")
>>             throw new UnexpectedValueException("Invalid value of Log
>> Level");
>>         if($level=="DEBUG")
>>             $this->loggerObj->debug($message);
>>         else
>>             if($level=="INFO")
>>             $this->loggerObj->info($message);
>>         else
>>             if($level=="WARN")
>>             $this->loggerObj->warn($message);
>>         else
>>             if($level=="ERROR")
>>             $this->loggerObj->error($message);
>>         else
>>             if($level=="FATAL")
>>             $this->loggerObj->fatal($message);
>>     }
>> }
>>
>>
>> ?>
>>
>> this is my wrapper.
>>
>>
>> On Fri, Jun 10, 2011 at 4:35 PM, Christian Grobmeier <gr...@gmail.com>
>> wrote:
>>>
>>> Hi,
>>>
>>> can you show us the Logging code?
>>>
>>> Esspecially the Logger::getLogger code is of interest.
>>>
>>> Thanks
>>> Christian
>>>
>>> On Fri, Jun 10, 2011 at 12:53 PM, Mohit Srivastava
>>> <sr...@gmail.com> wrote:
>>> > Hi all,
>>> >
>>> > I write a wrapper over log4php api named as loggerimplementation.php
>>> >
>>> > Now i faced a problem in log files. When i called a function for
>>> > logging
>>> > defined in loggerimplementation.
>>> >
>>> > Log file generated as:
>>> >
>>> > 2011-06-10 10:49:17 [INFO] Log4phpTest: Hello (at
>>> > C:\xampp\htdocs\logger\Loggerimplementation.php line 74)
>>> > 2011-06-10 10:50:08 [INFO] Log4phpTest: Hello (at
>>> > C:\xampp\htdocs\logger\Loggerimplementation.php line 74)
>>> > 2011-06-10 11:04:01 [INFO] Log4phpTest: Hello (at
>>> > C:\xampp\htdocs\logger\Loggerimplementation.php line 78)
>>> >
>>> > Now , as you can see %F will always show wrapper file name coz it
>>> > always
>>> > called from there. But I want real file name which one used this
>>> > wrapper.
>>> >
>>> > So please suggest me the way for this.
>>> >
>>> > Or
>>> > tell me from where %F details i can get?
>>> >
>>> > Waiting for reply.
>>> >
>>> > --
>>> > Mohit
>>> >
>>>
>>>
>>>
>>> --
>>> http://www.grobmeier.de
>>
>
>

Re: File name in log file

Posted by Mohit Srivastava <sr...@gmail.com>.
Hi Christian,

This is my config file:

<log4php:configuration xmlns:log4php="http://logging.apache.org/log4php/">
    <appender name="default" class="LoggerAppenderDailyFile">
        <param name="file" value="logs/%s.log" />
        <param name="datePattern" value="Ymd" />
        <layout class="LoggerLayoutPattern">
            <param name="ConversionPattern" value="%d{Y-m-d H:i:s} [%p] %c:
%m* (%F at %L)*" />
        </layout>
    </appender>

        <root>
            <level value="DEBUG" />
            <appender_ref ref="default" />
        </root>

    </log4php:configuration>

The bold characters are responsible for filename in log file. As it called
from loggerimplementation.php.
So, it always show its name, but the real file used loggerimplementation as
wrapper. So, i want to know , is there any way i can define thing like %F so
that i can get real file name.

--
Mohit

On Fri, Jun 10, 2011 at 5:07 PM, Mohit Srivastava <
srivastavamohit91@gmail.com> wrote:

> <?php
>
> /*
> Looger.php is included.
> */
> require_once('log4php/Logger.php');
> /*
> This class is use to generate a log file.
> */
> class Loggerimplementation extends Exception{
> /*
>  Member for logger Object.
> */
>     private $loggerObj;
>
> /*
>  Member for caller class ie class called loggerImplementation class.
> */
>     private $callerClass;
> /*
> Constructor intialize the member caller class.
> Also configure it with config.xml.
> */
>     public function __construct($ClassName) {
>        $this->callerClass=$ClassName;
>        if($this->callerClass==NULL)
>             throw new NullValueException('Caller Class Value is NULL');
>
>        $loggerConfig = 'log4php/xml/config.xml';
>         Logger::configure($loggerConfig);
>
>         $this->loggerObj = Logger::getLogger($this->callerClass);
>
>         if($this->loggerObj==NULL)
>             throw new NullValueException('Logger Object Created is NULL');
>     }
> /*
> Constructor intialize the member caller class.
> Also configure it with anotherconfig.xml. This constructor is used for
> warn, fatal,error cases.
> */
>     public function __constructlevel($ClassName,$isErrSet) {
>        if($isErrSet)
>         {
>             $this->callerClass=ClassName;
>             if($this->callerClass==NULL)
>                 throw new NullValueException('Caller Class Value is NULL');
>
>             $loggerConfig = 'log4php/xml/config.xml';
>             Logger::configure($loggerConfig);
>
>             $this->loggerObj = Logger::getLogger($this->callerClass);
>             if($this->loggerObj==NULL)
>                 throw new NullValueException('Logger Object Created is
> NULL');
>         }
>         else
>         {
>             throw new UnexpectedValueException("isErrSet value is wrong");
>             }
>     }
> /*
> function used to generate log message. In this , level will be check as it
> passed as parameter according to which a log file is generated.
> */
>     public function logMessage($message,$level)
>     {
>
>         if($message=="null")
>             throw new NullValueException("message cant be null");
>
>         if($level!="INFO" && $level!="DEBUG" && $level!="WARN" &&
> $level!="ERROR" && $level!="FATAL")
>             throw new UnexpectedValueException("Invalid value of Log
> Level");
>         if($level=="DEBUG")
>             $this->loggerObj->debug($message);
>         else
>             if($level=="INFO")
>             $this->loggerObj->info($message);
>         else
>             if($level=="WARN")
>             $this->loggerObj->warn($message);
>         else
>             if($level=="ERROR")
>             $this->loggerObj->error($message);
>         else
>             if($level=="FATAL")
>             $this->loggerObj->fatal($message);
>     }
> }
>
>
> ?>
>
> this is my wrapper.
>
>
>
> On Fri, Jun 10, 2011 at 4:35 PM, Christian Grobmeier <gr...@gmail.com>wrote:
>
>> Hi,
>>
>> can you show us the Logging code?
>>
>> Esspecially the Logger::getLogger code is of interest.
>>
>> Thanks
>> Christian
>>
>> On Fri, Jun 10, 2011 at 12:53 PM, Mohit Srivastava
>> <sr...@gmail.com> wrote:
>> > Hi all,
>> >
>> > I write a wrapper over log4php api named as loggerimplementation.php
>> >
>> > Now i faced a problem in log files. When i called a function for logging
>> > defined in loggerimplementation.
>> >
>> > Log file generated as:
>> >
>> > 2011-06-10 10:49:17 [INFO] Log4phpTest: Hello (at
>> > C:\xampp\htdocs\logger\Loggerimplementation.php line 74)
>> > 2011-06-10 10:50:08 [INFO] Log4phpTest: Hello (at
>> > C:\xampp\htdocs\logger\Loggerimplementation.php line 74)
>> > 2011-06-10 11:04:01 [INFO] Log4phpTest: Hello (at
>> > C:\xampp\htdocs\logger\Loggerimplementation.php line 78)
>> >
>> > Now , as you can see %F will always show wrapper file name coz it always
>> > called from there. But I want real file name which one used this
>> wrapper.
>> >
>> > So please suggest me the way for this.
>> >
>> > Or
>> > tell me from where %F details i can get?
>> >
>> > Waiting for reply.
>> >
>> > --
>> > Mohit
>> >
>>
>>
>>
>> --
>> http://www.grobmeier.de
>>
>
>

Re: File name in log file

Posted by Mohit Srivastava <sr...@gmail.com>.
<?php

/*
Looger.php is included.
*/
require_once('log4php/Logger.php');
/*
This class is use to generate a log file.
*/
class Loggerimplementation extends Exception{
/*
 Member for logger Object.
*/
    private $loggerObj;

/*
 Member for caller class ie class called loggerImplementation class.
*/
    private $callerClass;
/*
Constructor intialize the member caller class.
Also configure it with config.xml.
*/
    public function __construct($ClassName) {
       $this->callerClass=$ClassName;
       if($this->callerClass==NULL)
            throw new NullValueException('Caller Class Value is NULL');

       $loggerConfig = 'log4php/xml/config.xml';
        Logger::configure($loggerConfig);

        $this->loggerObj = Logger::getLogger($this->callerClass);

        if($this->loggerObj==NULL)
            throw new NullValueException('Logger Object Created is NULL');
    }
/*
Constructor intialize the member caller class.
Also configure it with anotherconfig.xml. This constructor is used for warn,
fatal,error cases.
*/
    public function __constructlevel($ClassName,$isErrSet) {
       if($isErrSet)
        {
            $this->callerClass=ClassName;
            if($this->callerClass==NULL)
                throw new NullValueException('Caller Class Value is NULL');

            $loggerConfig = 'log4php/xml/config.xml';
            Logger::configure($loggerConfig);

            $this->loggerObj = Logger::getLogger($this->callerClass);
            if($this->loggerObj==NULL)
                throw new NullValueException('Logger Object Created is
NULL');
        }
        else
        {
            throw new UnexpectedValueException("isErrSet value is wrong");
            }
    }
/*
function used to generate log message. In this , level will be check as it
passed as parameter according to which a log file is generated.
*/
    public function logMessage($message,$level)
    {

        if($message=="null")
            throw new NullValueException("message cant be null");

        if($level!="INFO" && $level!="DEBUG" && $level!="WARN" &&
$level!="ERROR" && $level!="FATAL")
            throw new UnexpectedValueException("Invalid value of Log
Level");
        if($level=="DEBUG")
            $this->loggerObj->debug($message);
        else
            if($level=="INFO")
            $this->loggerObj->info($message);
        else
            if($level=="WARN")
            $this->loggerObj->warn($message);
        else
            if($level=="ERROR")
            $this->loggerObj->error($message);
        else
            if($level=="FATAL")
            $this->loggerObj->fatal($message);
    }
}


?>

this is my wrapper.


On Fri, Jun 10, 2011 at 4:35 PM, Christian Grobmeier <gr...@gmail.com>wrote:

> Hi,
>
> can you show us the Logging code?
>
> Esspecially the Logger::getLogger code is of interest.
>
> Thanks
> Christian
>
> On Fri, Jun 10, 2011 at 12:53 PM, Mohit Srivastava
> <sr...@gmail.com> wrote:
> > Hi all,
> >
> > I write a wrapper over log4php api named as loggerimplementation.php
> >
> > Now i faced a problem in log files. When i called a function for logging
> > defined in loggerimplementation.
> >
> > Log file generated as:
> >
> > 2011-06-10 10:49:17 [INFO] Log4phpTest: Hello (at
> > C:\xampp\htdocs\logger\Loggerimplementation.php line 74)
> > 2011-06-10 10:50:08 [INFO] Log4phpTest: Hello (at
> > C:\xampp\htdocs\logger\Loggerimplementation.php line 74)
> > 2011-06-10 11:04:01 [INFO] Log4phpTest: Hello (at
> > C:\xampp\htdocs\logger\Loggerimplementation.php line 78)
> >
> > Now , as you can see %F will always show wrapper file name coz it always
> > called from there. But I want real file name which one used this wrapper.
> >
> > So please suggest me the way for this.
> >
> > Or
> > tell me from where %F details i can get?
> >
> > Waiting for reply.
> >
> > --
> > Mohit
> >
>
>
>
> --
> http://www.grobmeier.de
>

Re: File name in log file

Posted by Christian Grobmeier <gr...@gmail.com>.
Hi,

can you show us the Logging code?

Esspecially the Logger::getLogger code is of interest.

Thanks
Christian

On Fri, Jun 10, 2011 at 12:53 PM, Mohit Srivastava
<sr...@gmail.com> wrote:
> Hi all,
>
> I write a wrapper over log4php api named as loggerimplementation.php
>
> Now i faced a problem in log files. When i called a function for logging
> defined in loggerimplementation.
>
> Log file generated as:
>
> 2011-06-10 10:49:17 [INFO] Log4phpTest: Hello (at
> C:\xampp\htdocs\logger\Loggerimplementation.php line 74)
> 2011-06-10 10:50:08 [INFO] Log4phpTest: Hello (at
> C:\xampp\htdocs\logger\Loggerimplementation.php line 74)
> 2011-06-10 11:04:01 [INFO] Log4phpTest: Hello (at
> C:\xampp\htdocs\logger\Loggerimplementation.php line 78)
>
> Now , as you can see %F will always show wrapper file name coz it always
> called from there. But I want real file name which one used this wrapper.
>
> So please suggest me the way for this.
>
> Or
> tell me from where %F details i can get?
>
> Waiting for reply.
>
> --
> Mohit
>



-- 
http://www.grobmeier.de