I don't understand the question anyway. If there is no need for a logger (that is, if it shall not become instantiated), what does it mean to know the log-level. Which routine shall read the config, if the logger isn't instantiated?
Otherwise do a "String level=log.getLevel.toString()"

Ulrich


Am 30.07.2013 um 21:18 schrieb David Roussel <nabble@diroussel.xsmail.com>:

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@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@qos.ch
http://mailman.qos.ch/mailman/listinfo/logback-user

_______________________________________________
Logback-user mailing list
Logback-user@qos.ch
http://mailman.qos.ch/mailman/listinfo/logback-user