Ok, but then OFF wouldn’t mean OFF.

Ralph

> On Aug 29, 2015, at 9:41 PM, Nicholas Duane <nic...@msn.com> wrote:
> 
> 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
> 



---------------------------------------------------------------------
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