Oh, thanks Chris.. I will go for encoder pattern way.

From: [email protected]
Date: Tue, 30 Jul 2013 12:44:42 -0700
To: [email protected]
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 <[email protected]> 
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: [email protected]
Date: Tue, 30 Jul 2013 20:18:37 +0100
To: [email protected]


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 <[email protected]> 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
[email protected]
http://mailman.qos.ch/mailman/listinfo/logback-user



_______________________________________________
Logback-user mailing list
[email protected]
http://mailman.qos.ch/mailman/listinfo/logback-user                             
          

_______________________________________________

Logback-user mailing list

[email protected]

http://mailman.qos.ch/mailman/listinfo/logback-user



_______________________________________________
Logback-user mailing list
[email protected]
http://mailman.qos.ch/mailman/listinfo/logback-user                             
          
_______________________________________________
Logback-user mailing list
[email protected]
http://mailman.qos.ch/mailman/listinfo/logback-user

Reply via email to