[logback-user] Logger level from Layout class
gaston sponer
gaston.sponer at hotmail.com
Tue Jul 30 22:05:16 CEST 2013
Oh, thanks Chris.. I will go for encoder pattern way.
From: thechrispratt at gmail.com
Date: Tue, 30 Jul 2013 12:44:42 -0700
To: logback-user at qos.ch
Subject: Re: [logback-user] Logger level from Layout class
That's the job of the log encoder pattern, you shouldn't be doing that in your code, use the %p placeholder in your pattern string in your configuration file. See http://logback.qos.ch/manual/configuration.html for more information
(*Chris*)
On Tue, Jul 30, 2013 at 12:40 PM, gaston sponer <gaston.sponer at hotmail.com> wrote:
I need to show logger level on my log. Ex:
Log:event level: ERROR logger level: debug [main] Company_Module - Personal: name=John, age=36, id=3124362]
I understand isDebugEnabled, but this is not what i'm looking. My logger levele (set on xml config file) could be any level (info, trace, error, debug...) is not about debug level, is about print the level from logger that i can set on xml.
If i had this in my xml :<logger name="employee" level="info"/>
my log would print :
event level: ERROR logger level: info[main] Company_Module - Personal: name=John, age=36, id=3124362]
My concern is about what other way exist to get logger level different what i'm using now:
String level= ((Logger)LoggerFactory.getLogger("employee")).getLevel().toString();
public String doLayout(ILoggingEvent event) { StringBuffer sbuf = new StringBuffer(128);
sbuf.append("event level: "); sbuf.append(event.getLevel());
sbuf.append(" logger level: "); sbuf.append(getLevel());
sbuf.append(" ["); sbuf.append(event.getThreadName());
sbuf.append("] "); sbuf.append(event.getLoggerName());
sbuf.append(" - "); logMsg.append(employee.getPerson());
return sbuf.toString();}
public String getLevel() {
return level; }
public void setLevel(String level) {
this.level = level;}
Thanks,
GastonFrom: nabble at diroussel.xsmail.com
Date: Tue, 30 Jul 2013 20:18:37 +0100
To: logback-user at qos.ch
Subject: Re: [logback-user] Logger level from Layout class
Gaston,
Normally if you need to do something based on the logging level, you'd do.
if (log.isDebugEnabled()) { …}
Is there some special reason why you'd need the exact level?
David
On 30 Jul 2013, at 19:33, gaston sponer <gaston.sponer at hotmail.com> wrote:
Hi, Is there any way to get from MyLayout the logger level? I don't want to do this:
package com.render;import org.slf4j.LoggerFactory;
import ch.qos.logback.classic.Logger;import ch.qos.logback.classic.spi.ILoggingEvent;import ch.qos.logback.core.LayoutBase;
import com.render.domain.Employee;
public class MyLayout extends LayoutBase<ILoggingEvent>{ String level= ((Logger)LoggerFactory.getLogger("employee")).getLevel().toString();
......
This works well but i don't like to instantiate an object just to get a logger level.
This is my xml config file:
<configuration><logger name="employee" level="debug"/> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder"> <layout class="com.render.MyLayout" >
</layout> </encoder> </appender>
<root level="off"> <appender-ref ref="CONSOLE" />
</root></configuration>
Thanks,Gastón.
_______________________________________________
Logback-user mailing list
Logback-user at qos.ch
http://mailman.qos.ch/mailman/listinfo/logback-user
_______________________________________________
Logback-user mailing list
Logback-user at qos.ch
http://mailman.qos.ch/mailman/listinfo/logback-user
_______________________________________________
Logback-user mailing list
Logback-user at qos.ch
http://mailman.qos.ch/mailman/listinfo/logback-user
_______________________________________________
Logback-user mailing list
Logback-user at qos.ch
http://mailman.qos.ch/mailman/listinfo/logback-user
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.qos.ch/pipermail/logback-user/attachments/20130730/cac39090/attachment-0001.html>
More information about the Logback-user
mailing list