On 19 February 2013 21:23, Jan Galler <jagal...@icloud.com> wrote: > Hi everyone,
Hi Jan! > I'm trying to create a logger that covers two outputs. The first one is > a database (so every stuff should go there). And now I try to add an > appender that sends every log-event with an level higher 'warn'. > > But I really don't get it working?! I'm doing the following code (PHP): > > --snip-- > Under 'appenders' you have an array with two identical keys, basically you do this: 'appenders' => array( 'default' => ..., 'default' => ..., ) So the second one overrides the first. You should name them differently, e.g. 'dbappender' and 'emailappender' (or whatever else you like). Finally, to link both appenders to the root logger, do this: 'rootLogger' => array( 'appenders' => array('dbappender', 'emailappender'), ), Also, you don't need to use filters in this case, just set the appender threshold to 'warn' and it will filter out levels under 'warn'. To do this, replace 'filters' with: 'threshold' => 'warn' Here's the whole shebang: Logger::configure( array( 'appenders' => array( 'dbappender' => array( 'class' => 'LoggerAppenderPDO', 'params' => array( 'dsn' => 'mysql:host='.$logHost.';port='.$logPort.';dbname='.$logName, 'user' => $logUser, 'password' => $logPass, 'table' => 'log4php_log', ), ), 'emailappender' => array( 'class' => 'LoggerAppenderMailEvent', 'layout' => array( 'class' => 'LoggerLayoutSimple', ), 'params' => array( 'to' => 'jagal...@icloud.com', 'from' => 'log...@asdf.com' ), 'threshold' => 'warn' ), ), 'rootLogger' => array( 'appenders' => array('dbappender', 'emailappender'), ) ) ); Try it out and see if it works. ;) Regards, Ivan