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