Java 类ch.qos.logback.core.Appender 实例源码
项目:cuba
文件:LogControlImpl.java
@Override
public Level getAppenderThreshold(String appenderName) throws AppenderThresholdNotSupported {
for (Map.Entry<String, Appender> entry : getAllAppenders().entrySet()) {
if (entry.getKey().equals(appenderName)) {
Appender appender = entry.getValue();
for (Object filter : appender.getCopyOfAttachedFiltersList()) {
if (filter instanceof ThresholdFilter) {
try {
Field field = filter.getClass().getDeclaredField("level");
field.setAccessible(true);
return (Level) field.get(filter);
} catch (NoSuchFieldException | IllegalAccessException e) {
log.error("Error getting appender " + appenderName + " level", e);
throw new AppenderThresholdNotSupported(appenderName);
}
}
}
}
}
throw new AppenderThresholdNotSupported(appenderName);
}
项目:spring-boot-concourse
文件:DefaultLogbackConfiguration.java
private Appender<ILoggingEvent> fileAppender(LogbackConfigurator config,
String logFile) {
RollingFileAppender<ILoggingEvent> appender = new RollingFileAppender<ILoggingEvent>();
PatternLayoutEncoder encoder = new PatternLayoutEncoder();
String logPattern = this.patterns.getProperty("file", FILE_LOG_PATTERN);
encoder.setPattern(OptionHelper.substVars(logPattern, config.getContext()));
appender.setEncoder(encoder);
config.start(encoder);
appender.setFile(logFile);
FixedWindowRollingPolicy rollingPolicy = new FixedWindowRollingPolicy();
rollingPolicy.setFileNamePattern(logFile + ".%i");
appender.setRollingPolicy(rollingPolicy);
rollingPolicy.setParent(appender);
config.start(rollingPolicy);
SizeBasedTriggeringPolicy<ILoggingEvent> triggeringPolicy = new SizeBasedTriggeringPolicy<ILoggingEvent>();
triggeringPolicy.setMaxFileSize("10MB");
appender.setTriggeringPolicy(triggeringPolicy);
config.start(triggeringPolicy);
config.appender("FILE", appender);
return appender;
}
项目:TorgCRM-Server
文件:LoggingConfiguration.java
private void setMetricsMarkerLogbackFilter(LoggerContext context) {
log.info("Filtering metrics logs from all appenders except the {} appender", LOGSTASH_APPENDER_NAME);
OnMarkerEvaluator onMarkerMetricsEvaluator = new OnMarkerEvaluator();
onMarkerMetricsEvaluator.setContext(context);
onMarkerMetricsEvaluator.addMarker("metrics");
onMarkerMetricsEvaluator.start();
EvaluatorFilter<ILoggingEvent> metricsFilter = new EvaluatorFilter<>();
metricsFilter.setContext(context);
metricsFilter.setEvaluator(onMarkerMetricsEvaluator);
metricsFilter.setOnMatch(FilterReply.DENY);
metricsFilter.start();
for (ch.qos.logback.classic.Logger logger : context.getLoggerList()) {
for (Iterator<Appender<ILoggingEvent>> it = logger.iteratorForAppenders(); it.hasNext();) {
Appender<ILoggingEvent> appender = it.next();
if (!appender.getName().equals(ASYNC_LOGSTASH_APPENDER_NAME)) {
log.debug("Filter metrics logs from the {} appender", appender.getName());
appender.setContext(context);
appender.addFilter(metricsFilter);
appender.start();
}
}
}
}
项目:sponge
文件:StandaloneUtils.java
/**
* Starts or stops logging to the console.
*
* @param start starts or stops logging to the console.
*/
@SuppressWarnings("rawtypes")
public static void logToConsole(boolean start) {
Logger rootLogger = LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
if (rootLogger != null && rootLogger instanceof ch.qos.logback.classic.Logger) {
Appender appender = ((ch.qos.logback.classic.Logger) rootLogger).getAppender(CONSOLE_APPENDER_NAME);
if (appender != null) {
if (start) {
appender.start();
} else {
appender.stop();
}
return;
}
}
logger.warn("Unable to reconfigure Logback console logger (appender name '" + CONSOLE_APPENDER_NAME + "').");
}
项目:codemotion-2017-taller-de-jhipster
文件:LoggingConfiguration.java
private void setMetricsMarkerLogbackFilter(LoggerContext context) {
log.info("Filtering metrics logs from all appenders except the {} appender", LOGSTASH_APPENDER_NAME);
OnMarkerEvaluator onMarkerMetricsEvaluator = new OnMarkerEvaluator();
onMarkerMetricsEvaluator.setContext(context);
onMarkerMetricsEvaluator.addMarker("metrics");
onMarkerMetricsEvaluator.start();
EvaluatorFilter<ILoggingEvent> metricsFilter = new EvaluatorFilter<>();
metricsFilter.setContext(context);
metricsFilter.setEvaluator(onMarkerMetricsEvaluator);
metricsFilter.setOnMatch(FilterReply.DENY);
metricsFilter.start();
for (ch.qos.logback.classic.Logger logger : context.getLoggerList()) {
for (Iterator<Appender<ILoggingEvent>> it = logger.iteratorForAppenders(); it.hasNext(); ) {
Appender<ILoggingEvent> appender = it.next();
if (!appender.getName().equals(ASYNC_LOGSTASH_APPENDER_NAME)) {
log.debug("Filter metrics logs from the {} appender", appender.getName());
appender.setContext(context);
appender.addFilter(metricsFilter);
appender.start();
}
}
}
}
项目:stroom-query
文件:FifoLogbackAppenderFactory.java
@Override
public Appender<E> build(final LoggerContext context,
final String applicationName,
final LayoutFactory<E> layoutFactory,
final LevelFilterFactory<E> levelFilterFactory,
final AsyncAppenderFactory<E> asyncAppenderFactory) {
final Appender<E> appender = new FifoLogbackAppender<>();
appender.setContext(context);
appender.addFilter(levelFilterFactory.build(threshold));
getFilterFactories().forEach(f -> appender.addFilter(f.build()));
appender.start();
appender.setName(APPENDER_NAME);
return appender;
}
项目:qualitoast
文件:LoggingConfiguration.java
private void setMetricsMarkerLogbackFilter(LoggerContext context) {
log.info("Filtering metrics logs from all appenders except the {} appender", LOGSTASH_APPENDER_NAME);
OnMarkerEvaluator onMarkerMetricsEvaluator = new OnMarkerEvaluator();
onMarkerMetricsEvaluator.setContext(context);
onMarkerMetricsEvaluator.addMarker("metrics");
onMarkerMetricsEvaluator.start();
EvaluatorFilter<ILoggingEvent> metricsFilter = new EvaluatorFilter<>();
metricsFilter.setContext(context);
metricsFilter.setEvaluator(onMarkerMetricsEvaluator);
metricsFilter.setOnMatch(FilterReply.DENY);
metricsFilter.start();
for (ch.qos.logback.classic.Logger logger : context.getLoggerList()) {
for (Iterator<Appender<ILoggingEvent>> it = logger.iteratorForAppenders(); it.hasNext();) {
Appender<ILoggingEvent> appender = it.next();
if (!appender.getName().equals(ASYNC_LOGSTASH_APPENDER_NAME)) {
log.debug("Filter metrics logs from the {} appender", appender.getName());
appender.setContext(context);
appender.addFilter(metricsFilter);
appender.start();
}
}
}
}
项目:cdp4j
文件:TestAll.java
@BeforeClass
@SuppressWarnings("unchecked")
public static void init() {
loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
appender = new CdpAppender();
appender.setContext(loggerContext);
appender.start();
appender.setName(CdpAppender.class.getName());
Logger logger = loggerContext.getLogger("cdp4j.flow");
logger.addAppender((Appender<ILoggingEvent>) appender);
factory = new Launcher().launch();
session = factory.create();
session.enableConsoleLog();
URL url = TestAll.class.getResource("/session-test.html");
session.navigate(url.toString());
}
项目:secondbase
文件:SecondBaseLoggerTest.java
@Test
public void shouldSetConsoleAppenderForServiceAndRequestLogs() {
final String requestLoggerName = "requestlogger";
SecondBaseLogger.setupLoggingStdoutOnly(KEYS, VALUES, requestLoggerName);
final ch.qos.logback.classic.Logger rootLogger
= (ch.qos.logback.classic.Logger) LoggerFactory.getLogger(
org.slf4j.Logger.ROOT_LOGGER_NAME);
final Appender<ILoggingEvent> serviceConsoleAppender = rootLogger.getAppender(
"SERVICECONSOLEAPPENDER");
assertThat(serviceConsoleAppender, notNullValue());
final ch.qos.logback.classic.Logger requestLogger
= (ch.qos.logback.classic.Logger) LoggerFactory.getLogger(requestLoggerName);
final Appender<ILoggingEvent> requestLogConsoleAppender = requestLogger.getAppender(
"REQUESTLOGCONSOLEAPPENDER");
assertThat(requestLogConsoleAppender, notNullValue());
}
项目:Pixie
文件:GUILabelingTool.java
/**
* Initialize the logger, in order to display all the log messages in a text
* logger on the gui.
*/
private void initLogger() {
LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
// find the appender which is an instance of the text area appender and set the text area where it should put the text
for (ch.qos.logback.classic.Logger logger : context.getLoggerList()) {
// iterate the appenders in order to find the wanted one
for (Iterator<Appender<ILoggingEvent>> index = logger.iteratorForAppenders(); index.hasNext();) {
Appender<ILoggingEvent> appender = index.next();
// just the TextAreaAppender type is needed to be correctly initialised
if (appender instanceof TextAreaAppender) {
((TextAreaAppender) appender).setTextArea(jTALog, jTAShortLog);
}
}
}
}
项目:dropwizard-wiretap
文件:WiretapAppenderFactory.java
@Override
public Appender<ILoggingEvent> build(LoggerContext context, String s, Layout<ILoggingEvent> layout) {
Preconditions.checkNotNull(context);
WiretapAppender appender = new WiretapAppender();
final PatternLayoutEncoder patternEncoder = new PatternLayoutEncoder();
patternEncoder.setContext(context);
patternEncoder.setPattern("%-5p [%thread] [%d] %c: %m%n%rEx");
patternEncoder.start();
appender.setContext(context);
appender.setName("wiretap-appender");
appender.setEncoder(patternEncoder);
addThresholdFilter(appender, threshold);
appender.start();
return wrapAsync(appender);
}
项目:sam
文件:JsonLogAppender.java
public Appender<ILoggingEvent> build(
LoggerContext context,
String applicationName,
LayoutFactory<ILoggingEvent> layoutFactory,
LevelFilterFactory<ILoggingEvent> levelFilterFactory,
AsyncAppenderFactory<ILoggingEvent> asyncAppenderFactory
) {
final LoggingEventCompositeJsonEncoder encoder = new LoggingEventCompositeJsonEncoder();
encoder.setContext(context);
encoder.getProviders().addProvider(withPattern("{ \"type\": \"system\" }", new LoggingEventPatternJsonProvider(), context));
encoder.getProviders().addProvider(withName("timestamp", new LoggingEventFormattedTimestampJsonProvider(), context));
encoder.getProviders().addProvider(new LogLevelJsonProvider() );
encoder.getProviders().addProvider(new MessageJsonProvider() );
encoder.getProviders().addProvider(new StackTraceJsonProvider() );
encoder.start();
final ConsoleAppender<ILoggingEvent> appender = new ConsoleAppender<>();
appender.setContext(context);
appender.setEncoder(encoder);
appender.start();
return wrapAsync(appender, asyncAppenderFactory);
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot
文件:DefaultLogbackConfiguration.java
private Appender<ILoggingEvent> fileAppender(LogbackConfigurator config,
String logFile) {
RollingFileAppender<ILoggingEvent> appender = new RollingFileAppender<ILoggingEvent>();
PatternLayoutEncoder encoder = new PatternLayoutEncoder();
String logPattern = this.patterns.getProperty("file", FILE_LOG_PATTERN);
encoder.setPattern(OptionHelper.substVars(logPattern, config.getContext()));
appender.setEncoder(encoder);
config.start(encoder);
appender.setFile(logFile);
FixedWindowRollingPolicy rollingPolicy = new FixedWindowRollingPolicy();
rollingPolicy.setFileNamePattern(logFile + ".%i");
appender.setRollingPolicy(rollingPolicy);
rollingPolicy.setParent(appender);
config.start(rollingPolicy);
SizeBasedTriggeringPolicy<ILoggingEvent> triggeringPolicy = new SizeBasedTriggeringPolicy<ILoggingEvent>();
triggeringPolicy.setMaxFileSize("10MB");
appender.setTriggeringPolicy(triggeringPolicy);
config.start(triggeringPolicy);
config.appender("FILE", appender);
return appender;
}
项目:adeptj-runtime
文件:LogbackInitializer.java
public static void startLogback() {
long startTime = System.nanoTime();
Config config = Configs.DEFAULT.logging();
LogbackConfig logbackConfig = getLogbackConfig(config);
LogbackManager logbackMgr = LogbackManager.INSTANCE;
RollingFileAppender<ILoggingEvent> fileAppender = logbackMgr.createRollingFileAppender(logbackConfig);
ConsoleAppender<ILoggingEvent> consoleAppender = logbackMgr
.createConsoleAppender(APPENDER_CONSOLE, config.getString(KEY_LOG_PATTERN_CONSOLE));
List<Appender<ILoggingEvent>> appenderList = new ArrayList<>();
appenderList.add(consoleAppender);
appenderList.add(fileAppender);
logbackMgr.getAppenders().addAll(appenderList);
LoggerContext context = logbackMgr.getLoggerContext();
initRootLogger(context, consoleAppender, config);
addLoggers(config, appenderList);
addAsyncAppender(config, fileAppender);
context.start();
context.getLogger(LogbackInitializer.class).info(INIT_MSG, elapsedMillis(startTime));
}
项目:cerberus-lifecycle-cli
文件:LoggingConfigurer.java
/**
* Initializes the logger and the requested log level.
*
* @param level Logging level threshold
*/
@SuppressWarnings("unchecked")
public static void configure(final Level level) {
final Logger root = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
root.setLevel(level);
PatternLayoutEncoder encoder = new PatternLayoutEncoder();
encoder.setContext(root.getLoggerContext());
encoder.setPattern("%msg%n");
encoder.start();
Iterator<Appender<ILoggingEvent>> iterator = root.iteratorForAppenders();
while (iterator.hasNext()) {
Appender<ILoggingEvent> appender = iterator.next();
if (appender instanceof OutputStreamAppender) {
((OutputStreamAppender) appender).setEncoder(encoder);
}
appender.stop();
appender.start();
}
}
项目:logback-config
文件:ConfigConfigurator.java
private Appender<ILoggingEvent> configureAppender(LoggerContext loggerContext, String name, Config config)
throws ReflectiveOperationException {
List<Object> children = new ArrayList<>();
@SuppressWarnings("unchecked")
Class<Appender<ILoggingEvent>> clazz = (Class<Appender<ILoggingEvent>>) Class
.forName(config.getString("class"));
Appender<ILoggingEvent> appender = this.configureObject(loggerContext, clazz, config, children);
appender.setName(name);
for (Object child : children) {
if (child instanceof RollingPolicy) {
((RollingPolicy) child).setParent((FileAppender<?>) appender);
}
if (child instanceof LifeCycle) {
((LifeCycle) child).start();
}
}
appender.start();
return appender;
}
项目:trivor
文件:LoggingConfiguration.java
private void setMetricsMarkerLogbackFilter(LoggerContext context) {
log.info("Filtering metrics logs from all appenders except the {} appender", LOGSTASH_APPENDER_NAME);
OnMarkerEvaluator onMarkerMetricsEvaluator = new OnMarkerEvaluator();
onMarkerMetricsEvaluator.setContext(context);
onMarkerMetricsEvaluator.addMarker("metrics");
onMarkerMetricsEvaluator.start();
EvaluatorFilter<ILoggingEvent> metricsFilter = new EvaluatorFilter<>();
metricsFilter.setContext(context);
metricsFilter.setEvaluator(onMarkerMetricsEvaluator);
metricsFilter.setOnMatch(FilterReply.DENY);
metricsFilter.start();
for (ch.qos.logback.classic.Logger logger : context.getLoggerList()) {
for (Iterator<Appender<ILoggingEvent>> it = logger.iteratorForAppenders(); it.hasNext(); ) {
Appender<ILoggingEvent> appender = it.next();
if (!appender.getName().equals(ASYNC_LOGSTASH_APPENDER_NAME)) {
log.debug("Filter metrics logs from the {} appender", appender.getName());
appender.setContext(context);
appender.addFilter(metricsFilter);
appender.start();
}
}
}
}
项目:trivor
文件:LoggingConfiguration.java
private void setMetricsMarkerLogbackFilter(LoggerContext context) {
log.info("Filtering metrics logs from all appenders except the {} appender", LOGSTASH_APPENDER_NAME);
OnMarkerEvaluator onMarkerMetricsEvaluator = new OnMarkerEvaluator();
onMarkerMetricsEvaluator.setContext(context);
onMarkerMetricsEvaluator.addMarker("metrics");
onMarkerMetricsEvaluator.start();
EvaluatorFilter<ILoggingEvent> metricsFilter = new EvaluatorFilter<>();
metricsFilter.setContext(context);
metricsFilter.setEvaluator(onMarkerMetricsEvaluator);
metricsFilter.setOnMatch(FilterReply.DENY);
metricsFilter.start();
for (ch.qos.logback.classic.Logger logger : context.getLoggerList()) {
for (Iterator<Appender<ILoggingEvent>> it = logger.iteratorForAppenders(); it.hasNext(); ) {
Appender<ILoggingEvent> appender = it.next();
if (!appender.getName().equals(ASYNC_LOGSTASH_APPENDER_NAME)) {
log.debug("Filter metrics logs from the {} appender", appender.getName());
appender.setContext(context);
appender.addFilter(metricsFilter);
appender.start();
}
}
}
}
项目:tddl5
文件:DynamicLogbackLogger.java
protected Appender buildDailyMaxRollingAppender(String name, String fileName, String pattern, int maxBackupIndex) {
RollingFileAppender appender = new RollingFileAppender();
appender.setContext(loggerContext);
appender.setName(name);
appender.setAppend(true);
appender.setFile(new File(getLogPath(), fileName).getAbsolutePath());
TimeBasedRollingPolicy rolling = new TimeBasedRollingPolicy();
rolling.setContext(loggerContext);
rolling.setFileNamePattern(new File(getLogPath(), fileName).getAbsolutePath() + ".%d{yyyy-MM-dd-HH}");
rolling.setMaxHistory(maxBackupIndex);
rolling.setParent(appender);
rolling.start();
appender.setRollingPolicy(rolling);
PatternLayoutEncoder layout = new PatternLayoutEncoder();
layout.setContext(loggerContext);
layout.setPattern(pattern);
layout.setCharset(Charset.forName(getEncoding()));
layout.start();
appender.setEncoder(layout);
// 启动
appender.start();
return appender;
}
项目:logback-snmp
文件:SNMPTrapAppenderTest.java
@org.junit.Test
public void testAppender() {
ch.qos.logback.classic.Logger root = (ch.qos.logback.classic.Logger) LoggerFactory.getLogger(ch.qos.logback.classic.Logger.ROOT_LOGGER_NAME);
Appender mockAppender = mock(Appender.class);
root.addAppender(mockAppender);
Appender<ILoggingEvent> appender = root.getAppender("SNMP");
LOG.info("server error", new RuntimeException("info message"));
LOG.error("server error", new RuntimeException("error message"));
verify(mockAppender,times(2)).doAppend(argThat(new ArgumentMatcher<ILoggingEvent>() {
@Override
public boolean matches(final Object argument) {
return ((LoggingEvent) argument).getFormattedMessage().contains("server error");
}
}));
Assert.assertThat(appender.getClass().getName(), is(equalTo("com.sathwik.logback.appender.SNMPTrapAppender")));
}
项目:elpaaso-core
文件:PaasJndiStateRepositoryTest.java
@Test
public void getFeatureState_should_return_null_when_name_not_found_exception_is_wrapped() throws Exception{
final Appender<ILoggingEvent> mockAppender = TestLogUtils.addMockAppenderLog();
// Given
doReturn(context).when(repository).getInitialContext();
// stub expected behavior of lookup method
NamingException exception = new NamingException("jndi exception");
exception.initCause(new NameNotFoundException("invalid name"));
doThrow(exception).when(context).lookup(anyString());
// When
FeatureState feature = repository.getFeatureState(MyFeature.FEATURE1);
// Then
assertThat(feature).isNull();
}
项目:TDDL
文件:DynamicLogbackLogger.java
public void initRule() {
Appender dbTabAppender = buildAppender("TDDL_Vtab_Appender", "tddl-db-tab.log", "%m");
Appender vSlotAppender = buildAppender("TDDL_Vtab_Appender", "tddl-vslot.log", "%m");
Appender dynamicRuleAppender = buildAppender("TDDL_DynamicRule_Appender", "tddl-dynamic-rule.log", "%m");
ch.qos.logback.classic.Logger logger = (Logger) LoggerInit.TDDL_LOG.getDelegate();
logger.setAdditive(false);
logger.detachAndStopAllAppenders();
logger.addAppender(dbTabAppender);
logger.setLevel(Level.INFO);
logger = (Logger) LoggerInit.VSLOT_LOG.getDelegate();
logger.setAdditive(false);
logger.detachAndStopAllAppenders();
logger.addAppender(vSlotAppender);
logger.setLevel(Level.INFO);
logger = (Logger) LoggerInit.DYNAMIC_RULE_LOG.getDelegate();
logger.setAdditive(false);
logger.detachAndStopAllAppenders();
logger.addAppender(dynamicRuleAppender);
logger.setLevel(Level.INFO);
}
项目:bartleby
文件:SiftingAppenderBase.java
@Override
protected void append(E event) {
if (!isStarted()) {
return;
}
String discriminatingValue = discriminator.getDiscriminatingValue(event);
long timestamp = getTimestamp(event);
Appender<E> appender = appenderTracker.getOrCreate(discriminatingValue, timestamp);
// marks the appender for removal as specified by the user
if (eventMarksEndOfLife(event)) {
appenderTracker.endOfLife(discriminatingValue);
}
appenderTracker.removeStaleComponents(timestamp);
appender.doAppend(event);
}
项目:bartleby
文件:AppenderAttachableImplLockTest.java
@SuppressWarnings("unchecked")
@Test(timeout = 5000)
public void getAppenderBoom() {
Appender<Integer> mockAppender1 = mock(Appender.class);
when(mockAppender1.getName()).thenThrow(new OutOfMemoryError("oops"));
aai.addAppender(mockAppender1);
try {
// appender.getName called as a result of next statement
aai.getAppender("foo");
} catch (OutOfMemoryError e) {
// this leaves the read lock locked.
}
Appender<Integer> mockAppender2=mock(Appender.class);
// the next call used to freeze with the earlier ReadWriteLock lock
// implementation
aai.addAppender(mockAppender2);
}
项目:bartleby
文件:AppenderAttachableImplLockTest.java
@SuppressWarnings("unchecked")
@Test(timeout = 5000)
public void detachAppenderBoom() throws InterruptedException {
Appender<Integer> mockAppender = mock(Appender.class);
when(mockAppender.getName()).thenThrow(new OutOfMemoryError("oops"));
mockAppender.doAppend(17);
aai.addAppender(mockAppender);
Thread t = new Thread(new Runnable() {
public void run() {
try {
// appender.getName called as a result of next statement
aai.detachAppender("foo");
} catch (OutOfMemoryError e) {
// this leaves the write lock locked.
}
}
});
t.start();
t.join();
// the next call used to freeze with the earlier ReadWriteLock lock
// implementation
aai.appendLoopOnAppenders(17);
}
项目:bartleby
文件:AppenderAttachableImplTest.java
@Test
public void getGetAppender() throws Exception {
NOPAppender<TestEvent> test = new NOPAppender<TestEvent>();
test.setName("test");
test.start();
aai.addAppender(test);
NOPAppender<TestEvent> testOther = new NOPAppender<TestEvent>();
testOther.setName("testOther");
testOther.start();
aai.addAppender(testOther);
Appender<TestEvent> a = aai.getAppender("testOther");
assertNotNull("Could not find appender", a);
assertTrue("Wrong appender", a == testOther);
a = aai.getAppender("test");
assertNotNull("Could not find appender", a);
assertTrue("Wrong appender", a == test);
a = aai.getAppender("NotThere");
assertNull("Appender was returned", a);
}
项目:bartleby
文件:SiftingAppenderTest.java
@Test
public void sessionFinalizationShouldCauseLingering() throws JoranException {
String mdcKey = "linger";
String mdcVal = "session" + diff;
configure(SIFT_FOLDER_PREFIX + "lingering.xml");
MDC.put(mdcKey, mdcVal);
logger.debug("linger 1");
logger.debug(ClassicConstants.FINALIZE_SESSION_MARKER, "linger 2");
long now = System.currentTimeMillis();
SiftingAppender sa = (SiftingAppender) root.getAppender("SIFT");
AppenderTracker<ILoggingEvent> tracker = sa.getAppenderTracker();
assertEquals(1, tracker.allKeys().size());
Appender<ILoggingEvent> appender = tracker.find(mdcVal);
assertTrue(appender.isStarted());
tracker.removeStaleComponents(now + AppenderTracker.LINGERING_TIMEOUT + 1);
// previously lingering appenders should be closed upon timeout
assertFalse(appender.isStarted());
// and they should be gone
assertEquals(0, tracker.allKeys().size());
}
项目:artifactory
文件:TrafficTest.java
@BeforeClass
public void setUp() throws JoranException {
URL logConfigResource = getClass().getResource("/org/artifactory/traffic/logback.xml");
File logConfigFile = new File(logConfigResource.getFile());
Assert.assertNotNull(logConfigFile, "Cannot locate logback configuration file.");
Assert.assertTrue(logConfigFile.exists(), "Cannot locate logback configuration file.");
LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(lc);
lc.stop();
configurator.doConfigure(logConfigFile);
Logger logger = lc.getLogger(TrafficLogger.class);
Appender<ILoggingEvent> appender = logger.getAppender("TRAFFIC");
System.out.println(appender);
}
项目:tddl5
文件:DynamicLogbackLogger.java
protected Appender buildAppender(String name, String fileName, String pattern) {
RollingFileAppender appender = new RollingFileAppender();
appender.setContext(loggerContext);
appender.setName(name);
appender.setAppend(true);
appender.setFile(new File(getLogPath(), fileName).getAbsolutePath());
TimeBasedRollingPolicy rolling = new TimeBasedRollingPolicy();
rolling.setContext(loggerContext);
rolling.setParent(appender);
rolling.setFileNamePattern(new File(getLogPath(), fileName).getAbsolutePath() + ".%d{yyyy-MM-dd}");
rolling.start();
appender.setRollingPolicy(rolling);
PatternLayoutEncoder layout = new PatternLayoutEncoder();
layout.setContext(loggerContext);
layout.setPattern(pattern);
layout.setCharset(Charset.forName(getEncoding()));
layout.start();
appender.setEncoder(layout);
// 启动
appender.start();
return appender;
}
项目:TDDL
文件:DynamicLogbackLogger.java
private Appender buildDailyMaxRollingAppender(String name, String fileName, String pattern, int maxBackupIndex) {
RollingFileAppender appender = new RollingFileAppender();
appender.setName(name);
appender.setAppend(true);
appender.setFile(new File(getLogPath(), fileName).getAbsolutePath());
TimeBasedRollingPolicy rolling = new TimeBasedRollingPolicy();
rolling.setFileNamePattern(new File(getLogPath(), fileName).getAbsolutePath() + ".%d{yyyy-MM-dd-HH}");
rolling.setMaxHistory(maxBackupIndex);
rolling.setParent(appender);
appender.setRollingPolicy(rolling);
PatternLayoutEncoder layout = new PatternLayoutEncoder();
layout.setPattern(pattern);
layout.setCharset(Charset.forName(getEncoding()));
appender.setEncoder(layout);
// 启动
appender.start();
return appender;
}
项目:bartleby
文件:DBAppenderIntegrationTest.java
public void doTest(String configFile) throws JoranException {
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(context);
configurator.doConfigure(configFile);
Appender<IAccessEvent> appender = context.getAppender("DB");
for (int i = 0; i < 10; i++) {
IAccessEvent event = DummyAccessEventBuilder.buildNewAccessEvent();
appender.doAppend(event);
}
StatusPrinter.print(context);
// check that there were no errors
assertEquals(Status.INFO, statusChecker.getHighestLevel(0));
}
项目:contestparser
文件:DefaultLogbackConfiguration.java
private Appender<ILoggingEvent> fileAppender(LogbackConfigurator config,
String logFile) {
RollingFileAppender<ILoggingEvent> appender = new RollingFileAppender<ILoggingEvent>();
PatternLayoutEncoder encoder = new PatternLayoutEncoder();
String logPattern = this.patterns.getProperty("file", FILE_LOG_PATTERN);
encoder.setPattern(OptionHelper.substVars(logPattern, config.getContext()));
appender.setEncoder(encoder);
config.start(encoder);
appender.setFile(logFile);
FixedWindowRollingPolicy rollingPolicy = new FixedWindowRollingPolicy();
rollingPolicy.setFileNamePattern(logFile + ".%i");
appender.setRollingPolicy(rollingPolicy);
rollingPolicy.setParent(appender);
config.start(rollingPolicy);
SizeBasedTriggeringPolicy<ILoggingEvent> triggeringPolicy = new SizeBasedTriggeringPolicy<ILoggingEvent>();
triggeringPolicy.setMaxFileSize("10MB");
appender.setTriggeringPolicy(triggeringPolicy);
config.start(triggeringPolicy);
config.appender("FILE", appender);
return appender;
}
项目:butterfly
文件:LogbackLogConfigurator.java
@Override
public void setVerboseMode(boolean on) {
PatternLayoutEncoder patternLayoutEncoder = new PatternLayoutEncoder();
patternLayoutEncoder.setPattern("[%d{HH:mm:ss.SSS}] [%highlight(%level)] %msg%n");
patternLayoutEncoder.setContext(loggerContext);
patternLayoutEncoder.start();
Appender<ILoggingEvent> consoleAppender = new ConsoleAppender();
((OutputStreamAppender) consoleAppender).setEncoder(patternLayoutEncoder);
consoleAppender.setContext(loggerContext);
consoleAppender.start();
loggerContext.getLogger("com.paypal.butterfly.cli").detachAppender("CONSOLE");
loggerContext.getLogger("ROOT").addAppender(consoleAppender);
}
项目:cloudwatch-logback-appender
文件:CloudWatchAppender.java
@Override
public void addAppender(Appender<ILoggingEvent> appender) {
if (emergencyAppender == null) {
emergencyAppender = appender;
} else {
addWarn("One and only one appender may be attached to " + getClass().getSimpleName());
addWarn("Ignoring additional appender named [" + appender.getName() + "]");
}
}
项目:cloudwatch-logback-appender
文件:CloudWatchAppender.java
@Override
public Appender<ILoggingEvent> getAppender(String name) {
if (emergencyAppender != null && name != null && name.equals(emergencyAppender.getName())) {
return emergencyAppender;
} else {
return null;
}
}
项目:cloudwatch-logback-appender
文件:CloudWatchAppender.java
@Override
public boolean detachAppender(Appender<ILoggingEvent> appender) {
if (emergencyAppender == appender) {
emergencyAppender = null;
return true;
} else {
return false;
}
}
项目:talchain
文件:BasicSample.java
/**
* Allow only selected logger to print DEBUG events to STDOUT and FILE.
* Other loggers are allowed to print ERRORS only.
*/
private static void addSampleLogger(final String loggerName) {
if (CUSTOM_FILTER == null) {
CUSTOM_FILTER = new CustomFilter();
final LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
Appender ca = loggerContext.getLogger("ROOT").getAppender("STDOUT");
ca.clearAllFilters();
ca.addFilter(CUSTOM_FILTER);
}
CUSTOM_FILTER.addVisibleLogger(loggerName);
}
项目:verify-hub
文件:NotOnOrAfterLoggerTest.java
private static void verifyLog(
final Appender mockAppender,
final ArgumentCaptor<LoggingEvent> captorLoggingEvent,
final String expectedMessage) {
verify(mockAppender, times(1)).doAppend(captorLoggingEvent.capture());
final LoggingEvent loggingEvent = captorLoggingEvent.getValue();
assertThat(loggingEvent.getLevel(), is(Level.INFO));
assertThat(loggingEvent.getFormattedMessage(), is(expectedMessage));
}
项目:verify-hub
文件:UnknownMethodAlgorithmLoggerTest.java
private static void verifyLog(
final Appender mockAppender,
final ArgumentCaptor<LoggingEvent> captorLoggingEvent,
final int expectedNumOfInvocations,
final String expectedLogMessage) {
verify(mockAppender, times(expectedNumOfInvocations)).doAppend(captorLoggingEvent.capture());
final LoggingEvent loggingEvent = captorLoggingEvent.getValue();
assertThat(loggingEvent.getLevel(), is(Level.INFO));
assertThat(loggingEvent.getFormattedMessage(), is(expectedLogMessage));
}
项目:app-logbrowser
文件:LogHelper.java
private static Path getLogFromLogback( final File logbackConfig )
{
try
{
LoggerContext loggerContext = new LoggerContext();
JoranConfigurator jc = new JoranConfigurator();
jc.setContext( loggerContext );
loggerContext.reset();
jc.doConfigure( logbackConfig );
for ( Logger logger : loggerContext.getLoggerList() )
{
for ( Iterator<Appender<ILoggingEvent>> index = logger.iteratorForAppenders(); index.hasNext(); )
{
Appender<ILoggingEvent> appender = index.next();
if ( appender instanceof FileAppender )
{
return Paths.get( ( (FileAppender) appender ).getFile() );
}
}
}
return null;
}
catch ( Exception e )
{
return null;
}
}