Hello,
It doesn't work.

Logger::configure(dirname(__FILE__) . '/../log4php.properties');

$logger = Logger::getRootLogger();

$appender = new LoggerAppenderFile("programmatically");
$layout = new LoggerLayoutPattern("[%p] %t %c - %m%n");

$appender->setLayout($layout);
$appender->setFileName("programmatically.log");
$appender->setAppend(true);
$appender->setThreshold("ALL");
$logger->addAppender($appender);

echo $logger->isInfoEnabled() . "\n";

$allappenders = $logger->getAllAppenders();
foreach ($allappenders as $nappender){
        echo $nappender->getName()."\n";
}

$logger->info("info text");

With this code it write:
1
stdout
R
programmatically


I'm using a config file too and the file appender defined on it works.

log4php.properties content:

#R - Default Log file appender.
log4php.rootLogger=all, stdout, R

log4php.appender.stdout=LoggerAppenderConsole
log4php.appender.stdout.layout=LoggerLayoutPattern

# Pattern to output the caller's file name and line number.
#log4php.appender.stdout.layout.ConversionPattern=[%p] %t %c - %m%n

log4php.appender.R=LoggerAppenderRollingFile
log4php.appender.R.File=testrollingappender.log

log4php.appender.R.MaxFileSize=100KB
# Keep one backup file
log4php.appender.R.MaxBackupIndex=1

log4php.appender.R.layout=LoggerLayoutPattern
log4php.appender.R.layout.ConversionPattern=[%p] %t %c - %m%n


Maybe, a programmatically appender cannot be added if a configure file is used? 
But it does not make any sense.

Thanks,
Miquel


On Wednesday 14 April 2010 16:23:59 Christian Grobmeier wrote:
> Hello,
> 
> whats returned if you do:
> 
> echo $logger->isInfoEnabled();
> 
> My guess is that info level is not enabled for the root logger
> 
> Also you might need to set a threshhold for your appender:
> $appender->setThreshold($threshhold);
> 
> which is in fact a LoggerLevel. If you use ALL, you outputing all
> 
> Pls let me know if that worked for you
> 
> Christian
> 
> 2010/4/13 Miquel Canes <miquel.ca...@cast-info.es>:
> > Hello,
> > 
> > I'm trying to add a file appender programmatically.
> > 
> > I'm using this piece of code
> > 
> > $logger = Logger::getRootLogger();
> > 
> > $appender = new LoggerAppenderFile("programmatically");
> > $layout = new LoggerLayoutPattern("[%p] %t %c - %m%n");
> > 
> > $appender->setLayout($layout);
> > $appender->setFileName("programmatically.log");
> > $appender->setAppend(true);
> > $logger->addAppender($appender);
> > 
> > $allappenders = $logger->getAllAppenders();
> > foreach ($allappenders as $nappender){
> >        echo $nappender->getName()."\n";
> > }
> > 
> > $logger->info("info text");
> > 
> > 
> > 
> > It show the new appender when he print all the appenders but it doesn't
> > create the new log file.
> > 
> > How can I add a new file appender to the logger?
> > 
> > Thanks,
> > Miquel
> > 
> > *Advertencia legal: en virtud de lo establecido en la Ley Orgánica
> > 15/1999 de Protección de Datos de Carácter Personal, le informamos de
> > que los datos personales que pueda facilitarnos se incorporaran a un
> > fichero automatizado titularidad de CAST INFO, S.A. con la finalidad de
> > gestionar la relación negocial que nos vincula. Podrá revocar su
> > consentimiento al tratamiento de los datos, así como ejercer sus
> > derechos de acceso, rectificación, cancelación u oposición dirigiéndose
> > por escrito a CAST INFO domiciliada en C/ Tuset 23, 1º -- 08006
> > Barcelona, o a la dirección de correo electrónico l...@cast-info.es.
> > 
> > Este mensaje y los ficheros anexos que pueda contener son confidenciales,
> > pueden contener información sometida a secreto profesional y se dirige
> > exclusivamente a su destinatario. Si ha recibido este mensaje por error
> > o tiene conocimiento del mismo por cualquier motivo, le rogamos que nos
> > lo comunique inmediatamente por este mismo medio y se abstenga de
> > utilizarlo, reproducirlo, alterarlo, archivarlo o comunicarlo a
> > terceros. El emisor no se responsabiliza de posibles perjuicios
> > derivados de la captura, incorporaciones de virus o cualesquiera otras
> > manipulaciones efectuadas por terceros.
> > 
> > Antes de imprimir este e-mail piense bien si es necesario hacerlo.
> 
> *Advertencia legal: en virtud de lo establecido en la Ley Org�nica 15/1999
> de Protecci�n de Datos de Car�cter Personal, le informamos de que los
> datos personales que pueda facilitarnos se incorporaran a un fichero
> automatizado titularidad de CAST INFO, S.A. con la finalidad de gestionar
> la relaci�n negocial que nos vincula. Podr� revocar su consentimiento al
> tratamiento de los datos, as� como ejercer sus derechos de acceso,
> rectificaci�n, cancelaci�n u oposici�n dirigi�ndose por escrito a CAST
> INFO domiciliada en C/ Tuset 23, 1� -- 08006 Barcelona, o a la direcci�n
> de correo electr�nico l...@cast-info.es.
> 
> Este mensaje y los ficheros anexos que pueda contener son confidenciales,
> pueden contener informaci�n sometida a secreto profesional y se dirige
> exclusivamente a su destinatario. Si ha recibido este mensaje por error o
> tiene conocimiento del mismo por cualquier motivo, le rogamos que nos lo
> comunique inmediatamente por este mismo medio y se abstenga de utilizarlo,
> reproducirlo, alterarlo, archivarlo o comunicarlo a terceros. El emisor no
> se responsabiliza de posibles perjuicios derivados de la captura,
> incorporaciones de virus o cualesquiera otras manipulaciones efectuadas
> por terceros.
> 
> Antes de imprimir este e-mail piense bien si es necesario hacerlo.

Reply via email to