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