Download Java - ESO

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
ACS Course
ACS logging in Java
H. Sommer
NRAO - Socorro July, 2004
Plain JDK Logger
with ACS behind the scenes
ALMA Project
Application code
(component or comp-client)
getLogger
uses
ContainerServices#getLogger()
java.util.logging.Logger
• info(String msg)
• log(Level, String msg, Throwable)
creates & configures
forwards messages
VM-local ACS log handler
Socorro, July 2004
forwards
(XML)
remote ACS
logging service
Central log display
ALMA Common Software course
2
Code Snippets
from jcontexmpl/HelloLampImpl
ALMA Project
m_logger.info("sayHello called...");
catch (Exception ex)
{
m_logger.log(Level.SEVERE, "ex in setLampBrightness
impl", ex);
}
Socorro, July 2004
ALMA Common Software course
3
JDK Logging API
ALMA Project
• Standard since JDK 1.4
• Easy API (you’ll only need the Logger class)
– short methods with level names (finest, ... info, warning, severe)
each taking a message string.
– More powerful methods log, logp, for logging of values etc.
• Flexible configuration for filtering and formatting (done by ACS)
• Automatic retrieval of method names, line numbers etc
(not guaranteed to work always for all VMs though…)
• API: http://java.sun.com/j2se/1.4.2/docs/api/java/util/logging/package-summary.html
• More info: http://java.sun.com/j2se/1.4.2/docs/guide/util/logging/overview.html
Socorro, July 2004
ALMA Common Software course
4
ACS logging configuration
ALMA Project
• Standard configuration file used:
module acsjlog/src/almalogging.properties
acsStartContainer –java frodoContainer
• User may specify different properties file:
abeansStart -endorsed -Djava.util.logging.config.file=
/x/y/mylogging.properties frodoContainer
• Suppress log levels below INFO (or any other level):
alma.acs.logging.AcsLoggingHandler.level = INFO
• Console output level controlled by separate property:
java.util.logging.ConsoleHandler.level = INFO
Socorro, July 2004
ALMA Common Software course
5
Future of Java ACS Logging
ALMA Project
• The Logger returned from ContainerServices#getLogger is already
configured with a “logger-namespace” unique for the Java component
that requests it.
• We could extend that namespace concept to group or filter log entries
by the components that produced them
• Log levels for suppressing unimportant messages could be set
dynamically, e.g. by the Administrator Client; individually for all
components and containers in the system…
Socorro, July 2004
ALMA Common Software course
6
Related documents