Print

Print


​Hi Jeremy,

What was wrong with the old logger that it required such a drastic change?
Also, shouldn't you have let us know you were going to do this before you
went ahead and made the change?

I agree with Nathan, this needs to be changed so we don't need to use the
wrapper script.​

On Wed, Oct 7, 2015 at 12:42 PM, Nathan Baltzell <[log in to unmask]> wrote:

> Will you make it so the old command line still works?
>
>
>
> On Oct 7, 2015, at 15:29, McCormick, Jeremy I. <[log in to unmask]>
> wrote:
>
> > Yes, you should change it by adding the new Java property....
> >
> > java
> -Djava.util.logging.config.class=org.hps.logging.config.DefaultLogging -jar
> hps-distribution-bin.jar org.hps.evio.EvioToLcio [args]
> >
> > Or if trunk/distribution is available run it from the generated script
> which does this automatically.
> >
> > -----Original Message-----
> > From: Nathan Baltzell [mailto:[log in to unmask]]
> > Sent: Wednesday, October 07, 2015 12:25 PM
> > To: McCormick, Jeremy I.
> > Cc: Hansson Adrian, Per Ola; hps-software
> > Subject: Re: cleanup of logging in hps-java
> >
> > This does not require changing the command line used for EvioToLcio,
> right?
> >
> >
> >
> >
> > On Oct 7, 2015, at 15:21, McCormick, Jeremy I. <
> [log in to unmask]> wrote:
> >
> >> The level on the logger is null here because it was never set.  Loggers
> that are created with getLogger() don't actually have a "default" level (it
> is null by default) and the global level will get used instead in this case.
> >>
> >> So you have to load the new default config explicitly for all the
> package loggers to be assigned levels.
> >>
> >> java
> >> -Djava.util.logging.config.class=org.hps.logging.config.DefaultLogging
> >> Config -jar [etc.]
> >>
> >> Or you can instead run the wrapper script for EvioToLcio that's
> generated when you 'mvn' distribituion.
> >>
> >> distribution/target/appassembler/bin/evio2lcio.sh
> >>
> >> This script includes that bit of setup automatically, so that's
> probably the preferred option now for running EvioToLcio.
> >>
> >> -----Original Message-----
> >> From: Hansson Adrian, Per Ola
> >> Sent: Wednesday, October 07, 2015 12:13 PM
> >> To: McCormick, Jeremy I.
> >> Subject: Re: cleanup of logging in hps-java
> >>
> >> EvioToLcio run:
> >>
> >>
> >> Oct 07, 2015 12:05:07 PM org.hps.evio.LCSimEngRunEventBuilder
> >> makeLCSimEvent
> >> SEVERE: General error making SVT hits.
> >> java.lang.NullPointerException
> >> at
> >> org.hps.evio.SvtEventHeaderChecker.checkSvtHeaders(SvtEventHeaderCheck
> >> er.java:89) at
> >> org.hps.evio.AugmentedSvtEvioReader.processSvtHeaders(AugmentedSvtEvio
> >> Reader.java:35) at
> >> org.hps.evio.AbstractSvtEvioReader.makeHits(AbstractSvtEvioReader.java
> >> :286) at
> >> org.hps.evio.LCSimEngRunEventBuilder.makeLCSimEvent(LCSimEngRunEventBu
> >> ilder.java:157) at org.hps.evio.EvioToLcio.run(EvioToLcio.java:572)
> >> at org.hps.evio.EvioToLcio.main(EvioToLcio.java:94)
> >>
> >>
> >> Actually the error happens on line 87 and not 89 (I added a debug to
> check exactly what did it).
> >>
> >> /Pelle
> >>
> >> On Oct 7, 2015, at 12:10 PM, McCormick, Jeremy I. <
> [log in to unmask]> wrote:
> >>
> >>
> >>      Yeah, I tested it.  Where are you seeing this?
> >>
> >>      -----Original Message-----
> >>      From: Hansson Adrian, Per Ola
> >>      Sent: Wednesday, October 07, 2015 12:04 PM
> >>      To: McCormick, Jeremy I.
> >>      Subject: Re: cleanup of logging in hps-java
> >>
> >>
> >>      Did you try running after updating? I get null pointer exceptions
> everywhere this is called?
> >>
> >>      LOGGER.getLevel().intValue()
> >>
> >>
> >>      On Oct 7, 2015, at 11:57 AM, McCormick, Jeremy I. <
> [log in to unmask]> wrote:
> >>
> >>
> >>      I moved all the rest of the tracking detector classs to lcsim too,
> so
> >> you should probably be more worried about that.  :)
> >>
> >>      -----Original Message-----
> >>      From: Hansson Adrian, Per Ola
> >>      Sent: Wednesday, October 07, 2015 11:56 AM
> >>      To: McCormick, Jeremy I.
> >>      Subject: Re: cleanup of logging in hps-java
> >>
> >>
> >>      oh man...
> >>
> >>      On Oct 6, 2015, at 6:56 PM, McCormick, Jeremy I. <
> [log in to unmask]> wrote:
> >>
> >>
> >>
> >>      Hi,
> >>
> >>      I cleaned up how we are using the Java logging API in HPS Java
> today by doing the following....
> >>
> >>      1) Usage of the the LogUtil class from lcsim was replaced by the
> Logger.getLogger() method.
> >>
> >>      2) Naming of static Logger objects was standardized to "LOGGER"
> across all classes.
> >>
> >>      3) Classes will now create or use a logger that is named for their
> package rather than their class name e.g.
> >>
> >>      private static final Logger LOGGER =
> >>      Logger.getLogger(MyClass.class.getPackage().getName());
> >>
> >>      instead of
> >>
> >>      Logger.getLogger(MyClass.class.getName());
> >>
> >>      This makes it much easier to configure the logging output for sets
> of related classes by their package rather than needing to set levels for
> every class.
> >>
> >>      4) A new logging module was added to the build, with a global
> logging
> >>      configuration file under
> >>
> >>
> logging/src/main/resources/org/hps/logging/config/logging.properties
> >>
> >>      which contains default log levels for all hps-java packages.
> >>
> >>      5) A default log setup class was added under
> >>
> >>
> >> logging/src/main/java/org/hps/logging/config/DefaultLoggingConfig.java
> >>
> >>      which loads the classpath resource from #4 that provides global
> defaults.
> >>
> >>      This will be automatically activated for all test cases, and it
> will also be setup automatically by the wrapper scripts generated from the
> distribution build (under target/appengine/bin).
> >>
> >>      6) The methods for setting the log level on the
> DatabaseConditionsManager were removed in favor of using the standard
> logging API.
> >>
> >>      7) Custom log level settings on various classes were mostly
> removed in favor of using the levels defined in the logging.properties
> classpath resource.
> >>
> >>      8) There are no longer individual "handler" classes created for
> each logger.  There should be just one global console handler now, so the
> messages from different loggers should always show up in order.
> >>
> >>      9) Related to #8, all of the calls to
> "logger.getHandlers[0]().flush()" were removed as they should no longer be
> needed.  The console output should be flushed predictably and automatically
> now.
> >>
> >>      10) The default message format was changed so that the entire log
> record appears on a single line instead of two like before.
> >>
> >>      For instance, here is a sample message
> >>
> >>      INFO: I am enabled [Tue Oct 06 18:47:39 PDT 2015]
> org.hps.detector.svt.SvtDetectorSetup conditionsChanged
> >>
> >>      The format is basically now:
> >>
> >>      LEVEL: MESSAGE [DATE] SOURCE
> >>
> >>      We can change this easily in the properties file if a different
> format is desired (date printed first perhaps?).
> >>
> >>      --
> >>
> >>      That covers most of the changes that I made to the trunk.
> >>
> >>      If you want to customize the logging behavior from jobs that are
> run with the "java -jar" command, there are two different settings that can
> be used.
> >>
> >>      You can activate the default classpath resource as follows:
> >>
> >>      java
> >>
> -Djava.util.logging.config.class=org.hps.logging.config.DefaultLogging
> >>      Config [args]
> >>
> >>      Or you can provide your own customized logging properties file:
> >>
> >>      java
> >>
> -Djava.util.logging.config.class=org.hps.logging.config.file=mylogging
> >>      .properties [args]
> >>
> >>      There are more details about how this all works at the following
> URLs:
> >>
> >>      includes details on setting the logging properties from the command
> >>      line
> >>
> http://docs.oracle.com/javase/7/docs/api/java/util/logging/LogManager.
> >>      html
> >>
> >>      how to provide a custom formatting string for the mssages
> >>
> http://docs.oracle.com/javase/7/docs/api/java/util/logging/SimpleForma
> >>      tter.html#format%28java.util.logging.LogRecord%29
> >>
> >>      example of configuring logging via a properties file
> >>      http://tutorials.jenkov.com/java-logging/configuration.html
> >>
> >>      Overall, the logging should now be much better organized and
> easier to configure, and it is more in line with how logging configuration
> is supposed to be done in Java applications, e.g. using the standard
> logging API and customizing the behavior via a properties file.
> >>
> >>      You should definitely 'svn up' the hps-java trunk immediately to
> get these changes, as many files were changed and there is the possibility
> of (minor) conflicts having been created in your local copy.
> >>
> >>      If you have any questions about these changes or need help/advice,
> then please let me know!
> >>
> >>      --Jeremy
> >>
> >>
> ######################################################################
> >>      ##
> >>      Use REPLY-ALL to reply to list
> >>
> >>      To unsubscribe from the HPS-SOFTWARE list, click the following
> link:
> >>
> https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=HPS-SOFTWARE&A=1
> >>
> >>
> >>
> >>
> >>
> >>
> >> ######################################################################
> >> ##
> >> Use REPLY-ALL to reply to list
> >>
> >> To unsubscribe from the HPS-SOFTWARE list, click the following link:
> >> https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=HPS-SOFTWARE&A=1
> >
>
> ########################################################################
> Use REPLY-ALL to reply to list
>
> To unsubscribe from the HPS-SOFTWARE list, click the following link:
> https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=HPS-SOFTWARE&A=1
>

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the HPS-SOFTWARE list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=HPS-SOFTWARE&A=1