Ideally that I couldn't turn it off.
Thanks,Nick

-------- Original message --------
From: Ralph Goers <ralph.go...@dslextreme.com>
Date: 08/29/2015  9:51 PM  (GMT-07:00)
To: Log4J Users List <log4j-user@logging.apache.org>
Subject: Re: custom levels via configuration

OFF has a value of 0. What would it mean to have a value less than that?

Ralph

> On Aug 29, 2015, at 7:22 PM, Nicholas Duane <nic...@msn.com> wrote:
>
> I got log4j 2.3 installed and verified that custom levels are working for me 
> now.  However, I did noticed you can't set the intValue to a negative number. 
>  Is that by design?
>
> Thanks,
> Nick
>
>> From: nic...@msn.com
>> To: log4j-user@logging.apache.org
>> Subject: RE: custom levels via configuration
>> Date: Wed, 26 Aug 2015 20:34:13 -0400
>>
>> That would certainly be a possible explanation.  I'm working on figuring out 
>> how to upgrade to log4j 2.3.  Hopefully that will solve my custom levels 
>> issue.
>>
>> Thanks,
>> Nick
>>
>>> Subject: Re: custom levels via configuration
>>> From: ralph.go...@dslextreme.com
>>> Date: Wed, 26 Aug 2015 17:05:02 -0700
>>> To: log4j-user@logging.apache.org
>>>
>>> Custom log levels weren’t added to Log4j 2 until version 2.1, so if the 
>>> version you are using is older than that it is no surprise that it isn’t 
>>> working.
>>>
>>> Ralph
>>>
>>>> On Aug 26, 2015, at 2:34 PM, Nicholas Duane <nic...@msn.com> wrote:
>>>>
>>>> While I work on figuring out how to get a newer version of log4j2 
>>>> installed I'm wondering whether there is some additional investigation I 
>>>> can do with the version I have.  For instance, I was hoping with the level 
>>>> of logging I have enabled, that log4j would be indicating some issue it 
>>>> had with the custom level.  However, I don't see such an issue.  The only 
>>>> thing I see is an issue with the custom level, which I'm guessing is when 
>>>> I'm using it in the filter.  I've attached the warning in the log below.
>>>>
>>>> Is there some additional logging I can turn on such that log4j will 
>>>> produce more info which might indicate why my custom levels aren't 
>>>> working?  Here is my current log4j2 configuration.
>>>>
>>>> log4j2.xml:
>>>>
>>>> <?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>
>>>>
>>>> snippet of console output:
>>>>
>>>> 2015-08-26 14:26:21,070 WARN Error while converting string [INFOM1] to 
>>>> type [class org.apache.logging.log4j.Level]. Using default value [null]. 
>>>> java.lang.IllegalArgumentException: Unknown level constant [INFOM1].
>>>>   at org.apache.logging.log4j.Level.valueOf(Level.java:281)
>>>>   at 
>>>> org.apache.logging.log4j.core.config.plugins.util.TypeConverters$LevelConverter.convert(TypeConverters.java:240)
>>>>   at 
>>>> org.apache.logging.log4j.core.config.plugins.util.TypeConverters$LevelConverter.convert(TypeConverters.java:237)
>>>>   at 
>>>> org.apache.logging.log4j.core.config.plugins.util.TypeConverters.convert(TypeConverters.java:343)
>>>>   at 
>>>> org.apache.logging.log4j.core.config.plugins.visitors.AbstractPluginVisitor.convert(AbstractPluginVisitor.java:130)
>>>>   at 
>>>> org.apache.logging.log4j.core.config.plugins.visitors.PluginAttributeVisitor.visit(PluginAttributeVisitor.java:44)
>>>>   at 
>>>> org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.generateParameters(PluginBuilder.java:233)
>>>>   at 
>>>> org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:131)
>>>>   at 
>>>> org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:748)
>>>>   at 
>>>> org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:683)
>>>>   at 
>>>> org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:675)
>>>>   at 
>>>> org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:675)
>>>>   at 
>>>> org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:675)
>>>>   at 
>>>> org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:349)
>>>>   at 
>>>> org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:150)
>>>>   at 
>>>> org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:358)
>>>>   at 
>>>> org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:416)
>>>>   at 
>>>> org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:146)
>>>>   at 
>>>> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:75)
>>>>   at 
>>>> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:37)
>>>>   at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:473)
>>>>   at HelloWorld.<clinit>(HelloWorld.java:7)
>>>>
>>>> Thanks,
>>>> Nick
>>>>
>>>>> Date: Wed, 26 Aug 2015 12:36:40 -0700
>>>>> Subject: Re: custom levels via configuration
>>>>> From: garydgreg...@gmail.com
>>>>> To: log4j-user@logging.apache.org
>>>>>
>>>>> We've never released a version "2.0-1.fc21" so it must be a Fedora build,
>>>>> presumably based on 2.0 or some fork of it.
>>>>>
>>>>> You need to test with version 2.3 or a 2.4-SNAPSHOT. I'll leave you to
>>>>> Google how to install 2.3 on Fedora ;-)
>>>>>
>>>>> Gary
>>>>>
>>>>> On Wed, Aug 26, 2015 at 12:14 PM, Nicholas Duane <nic...@msn.com> wrote:
>>>>>
>>>>>> First off let me admit that I'm a noob at both Linux and java, and log4j
>>>>>> for that matter.
>>>>>>
>>>>>> I don't know how to package anything so my class that you see is a simple
>>>>>> java class which I compiled using javac.  I then run it using 'java
>>>>>> HelloWorld'.  I'm running fedora 21.  When I do a 'yum list log4j' it 
>>>>>> says
>>>>>> I have 2.0-1.fc21.
>>>>>>
>>>>>> Thanks,
>>>>>> Nick
>>>>>>
>>>>>>> Date: Wed, 26 Aug 2015 11:46:51 -0700
>>>>>>> Subject: Re: custom levels via configuration
>>>>>>> From: garydgreg...@gmail.com
>>>>>>> To: log4j-user@logging.apache.org
>>>>>>>
>>>>>>> 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...
>>>>>>>
>>>>>>> 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
>>>>
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
>>> For additional commands, e-mail: log4j-user-h...@logging.apache.org
>>>
>>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-user-h...@logging.apache.org

Reply via email to