
org.tango.logging.DefaultTangoLoggingConfiguration Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of JTangoServer Show documentation
Show all versions of JTangoServer Show documentation
Library for Tango Server (ie. Tango Device) in Java
package org.tango.logging;
import ch.qos.logback.classic.Level;
import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.classic.PatternLayout;
import ch.qos.logback.classic.joran.action.JMXConfiguratorAction;
import ch.qos.logback.classic.spi.Configurator;
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.core.ConsoleAppender;
import ch.qos.logback.core.encoder.LayoutWrappingEncoder;
import ch.qos.logback.core.joran.spi.ActionException;
import ch.qos.logback.core.spi.ContextAwareBase;
import ch.qos.logback.classic.Logger;
import ch.qos.logback.core.util.StatusPrinter;
import org.xml.sax.helpers.AttributesImpl;
public class DefaultTangoLoggingConfiguration extends ContextAwareBase implements Configurator {
@Override
public void configure(LoggerContext loggerContext) {
addInfo("Setting up default configuration from ");
ConsoleAppender ca = new ConsoleAppender();
ca.setContext(loggerContext);
ca.setName("console");
LayoutWrappingEncoder encoder = new LayoutWrappingEncoder();
encoder.setContext(loggerContext);
PatternLayout layout = new PatternLayout();
layout.setPattern("%-5level %d [%thread - %X{deviceName}] %logger{36}.%M:%L - %msg%n");
layout.setContext(loggerContext);
layout.start();
encoder.setLayout(layout);
ca.setEncoder(encoder);
ca.start();
JMXConfiguratorAction jmxConfiguratorAction = new JMXConfiguratorAction();
jmxConfiguratorAction.setContext(loggerContext);
try {
jmxConfiguratorAction.begin(null, null, new AttributesImpl());
} catch (ActionException e) {
addError("The Logback JMX configuration failed", e);
}
Logger jacorbLogger = loggerContext.getLogger("org.jacorb");
jacorbLogger.setLevel(Level.ERROR);
Logger tangoLogger = loggerContext.getLogger("org.tango.server");
tangoLogger.setLevel(Level.INFO);
Logger rootLogger = loggerContext.getLogger(Logger.ROOT_LOGGER_NAME);
rootLogger.setLevel(Level.ERROR);
rootLogger.addAppender(ca);
StatusPrinter.print(loggerContext);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy