THanks for coming back and sorry for not answering so long :-) Busy days :-)


On Wed, Oct 20, 2010 at 4:49 PM, Matthew Ishii <[email protected]> wrote:
> I recently discovered that the hierarchy was wrong.
>
> In order to create a logger one must reference the logger this way:
>
> log4php.logger.loggername = [loglevel], [appender]
>
> not
>
> log4php.rootLogger
> ________________________________
> From: Matthew Ishii [[email protected]]
> Sent: Tuesday, October 19, 2010 10:37 AM
> To: '[email protected]'
> Subject: Cannot get log4php to work properly!
>
> So I recently discovered that the log4* package was available for PHP and
> upon seeing this eagerly downloaded the latest from the log4php website and
> followed the installation instructions. The instructions indicate that one
> is to download the tar package, untar, and place the following directory in
> a place of one's choosing: log4php/src/main/php
>
>
>
> Therefore I copied the contents of log4php/src/main/php into my lib dir
> under lib/log4php.
>
>
>
> In my script, as required, I required the 'Logger.php' class and indicated a
> properties file to manage my appenders. The properties file,
> log4php.properties, is located on my filesystem at
> "/home1/ioforgec/www/devlab/pnotes/config/log4php.properties".
>
>
>
> Here is the logfile content:
>
>
>
> #
>
> # Example Logger
>
> #
>
> log4php.appender.EA1 = LoggerAppenderConsole
>
> log4php.appender.EA1.target = STDOUT
>
> log4php.appender.EA1.layout = LoggerLayoutPattern
>
> log4php.appender.EA1.ConversionPattern = "%m"
>
> log4php.appender.EA1.threshold = FATAL
>
> log4php.exampleLogger = FATAL, EA1
>
>
>
> So here is a copy of my script that implements (more or less 'wraps' the
> log4php functionality):
>
>
>
> <?php
>
>
>
> require_once('/home1/ioforgec/www/devlab/pnotes/lib/log4php/Logger.php');
>
>
>
> class LogUtil
>
> {
>
>     public $logger;
>
>     public $properties_file =
> "/home1/ioforgec/www/devlab/pnotes/config/log4php.properties";
>
>
>
>     public static function logExample($msg)
>
>     {
>
>         Logger::configure($properties_file);
>
>         $logger = Logger::getLogger("example");
>
>         $logger->debug("Shouldnt see this print because of config max level
> FATAL");
>
>         $logger->fatal($msg);
>
>     }
>
> }
>
> ?>
>
>
>
> In order to test that this is working properly, the following script calls
> the LogUtil.php shown above:
>
>
>
> #!/usr/bin/php
>
> <?php
>
> require_once("lib/utils/LogUtil.php");
>
> LogUtil::logExample("example message");
>
> ?>
>
>
>
> So, despite configuring the example logger to format the messages as the
> plain message, despite setting the level of the logger to a max of FATAL,
> not only in the logger declaration but also in the threshold command, the
> print to the console looks to me like the default root logger:
>
>
>
> Mon Oct 18 20:30:05 2010,705 [827] DEBUG example - shouldnt see this print
> because of config max level FATAL
>
> Mon Oct 18 20:30:05 2010,711 [827] FATAL example - example message
>
>
>
> I see the print statement without the plain formatting as specified, and I
> see two print statements, the debug print (which should never have printed
> due to the setting of FATAL on the logger configuration - FATAL is MUCH
> higher than DEBUG)
>
>
>
> What on earth am I doing wrong? I’ve tried every combination of setup I can
> possibly think of. Does anyone have any suggestions?
>
>
>
>

Reply via email to