On Wed, Aug 26, 2015 at 11:46 AM, Gary Gregory <garydgreg...@gmail.com>
wrote:

> This:
>
> <Logger name="HelloWorld" level="ALL">
>
> is only going to match:
>
> static Logger log = LogManager.getLogger(HelloWorld.class.getName());
>
> if the class in unpackaged, which it looks it is based on this paste but I
> want to double check that you did not omit anything from the example.
>
> Are you using the latest version (2.3)?.
>
> I just added this test the other day to Git master:
>
> org.apache.logging.log4j.core.CustomLevelsTest
>
> And it shows that we can configure custom levels from a file and see them
> in code.
>
> So I am puzzled here.
>
> You could try the latest from Git master as well but I do not recall any
> fixes in this area.
>
> I wonder if the Appenders are processed by the configuration _before_ the
> custom levels...
>

My above suspicion was unfounded, see my new
test org.apache.logging.log4j.core.CustomLevelsWithFiltersTest and feel
free to provide a patch to test your desired behavior. This might be a tall
order if you are a true Java newbie ;-)

Gary

>
> Gary
>
>
> On Wed, Aug 26, 2015 at 11:19 AM, Nicholas Duane <nic...@msn.com> wrote:
>
>>
>>
>>
>> On to my next problem.  I'm trying to define a custom level in
>> configuration.  Not sure if it's working or not.  However, when I attempt
>> to get the level for that custom level I get back null, which I wasn't
>> expecting.  Here is the log4j2.xml config file:
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <Configuration status="trace" verbose="true">
>>   <CustomLevels>
>>     <CustomLevel name="INFOM1" intLevel="399"/>
>>     <CustomLevel name="INFOP1" intLevel="401"/>
>>   </CustomLevels>
>>   <Appenders>
>>     <File name="info" fileName="info.log">
>>       <PatternLayout>
>>     <Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
>>       </PatternLayout>
>>       <Filters>
>>     <ThresholdFilter level="INFOM1" onMatch="DENY" onMismatch="NEUTRAL"/>
>>     <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
>>       </Filters>
>>     </File>
>>   </Appenders>
>>   <Loggers>
>>     <Logger name="HelloWorld" level="ALL">
>>       <AppenderRef ref="info"/>
>>     </Logger>
>>     <Root>
>>     </Root>
>>   </Loggers>
>> </Configuration>
>>
>> Here is my code:
>>
>> import org.apache.logging.log4j.LogManager;
>> import org.apache.logging.log4j.Logger;
>> import org.apache.logging.log4j.Level;
>>
>> public class HelloWorld
>> {
>>     static Logger log = LogManager.getLogger(HelloWorld.class.getName());
>>
>>     public static void main(String[] args)
>>     {
>>       System.out.println("Hello, World");
>>       log.info("hello this is an INFO  message");
>>       log.warn("hello this is a WARN message");
>>       log.debug("hello this is a DEBUG message");
>>       Level level = Level.getLevel("INFOM1");
>>       if (level == null)
>>     System.out.println("Didn't find level INFOM1");
>>       else
>>         log.log(level, "hello this is an INFOM1 message");
>>       level = Level.getLevel("INFOP1");
>>       if (level == null)
>>     System.out.println("Didn't find level INFOP1");
>>       else
>>         log.log(level, "hello this is an INFOP1 message");
>>     }
>> }
>>
>> Any ideas?  I obviously don't want to use Level.forName() as that will
>> create the level if it doesn't exist and I want to ensure I'm pulling the
>> value from the configuration.
>>
>> Thanks,
>> Nick
>>
>>
>
>
>
>
> --
> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> Java Persistence with Hibernate, Second Edition
> <http://www.manning.com/bauer3/>
> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> Spring Batch in Action <http://www.manning.com/templier/>
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>



-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
Java Persistence with Hibernate, Second Edition
<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Reply via email to