Java 类ch.qos.logback.core.status.ErrorStatus 实例源码
项目:rocketmq-rocketmq-all-4.1.0-incubating
文件:RocketmqLogbackAppender.java
/**
* Options are activated and become effective only after calling this method.
*/
public void start() {
int errors = 0;
if (this.layout == null) {
addStatus(new ErrorStatus("No layout set for the RocketmqLogbackAppender named \"" + name + "\".", this));
errors++;
}
if (errors > 0 || !checkEntryConditions()) {
return;
}
try {
producer = ProducerInstance.getInstance(nameServerAddress, producerGroup);
} catch (Exception e) {
addError("Starting RocketmqLogbackAppender [" + this.getName()
+ "] nameServerAddress:" + nameServerAddress + " group:" + producerGroup + " " + e.getMessage());
}
if (producer != null) {
super.start();
}
}
项目:DigitalMediaServer
文件:FrameAppender.java
/**
* Checks that the required parameters are set and if everything is in
* order, activates this appender.
*/
@Override
public void start() {
boolean error = false;
if (this.encoder == null) {
error = true;
addStatus(
new ErrorStatus(
"No encoder set for the appender named [" + name + "].",
this
)
);
}
if (!error) {
super.start();
}
}
项目:konker-platform
文件:KonkerContextInitializer.java
private void multiplicityWarning(String resourceName, ClassLoader classLoader) {
Set urlSet = null;
StatusManager sm = this.loggerContext.getStatusManager();
try {
urlSet = Loader.getResourceOccurrenceCount(resourceName, classLoader);
} catch (IOException var7) {
sm.add(new ErrorStatus("Failed to get url list for resource [" + resourceName + "]", this.loggerContext, var7));
}
if (urlSet != null && urlSet.size() > 1) {
sm.add(new WarnStatus("Resource [" + resourceName + "] occurs multiple times on the classpath.", this.loggerContext));
Iterator i$ = urlSet.iterator();
while (i$.hasNext()) {
URL url = (URL) i$.next();
sm.add(new WarnStatus("Resource [" + resourceName + "] occurs at [" + url.toString() + "]", this.loggerContext));
}
}
}
项目:rocketmq
文件:RocketmqLogbackAppender.java
/**
* Options are activated and become effective only after calling this method.
*/
public void start() {
int errors = 0;
if (this.layout == null) {
addStatus(new ErrorStatus("No layout set for the RocketmqLogbackAppender named \"" + name + "\".", this));
errors++;
}
if (errors > 0 || !checkEntryConditions()) {
return;
}
try {
producer = ProducerInstance.getProducerInstance().getInstance(nameServerAddress, producerGroup);
} catch (Exception e) {
addError("Starting RocketmqLogbackAppender [" + this.getName()
+ "] nameServerAddress:" + nameServerAddress + " group:" + producerGroup + " " + e.getMessage());
}
if (producer != null) {
super.start();
}
}
项目:logback-slack-appender
文件:LogbackSlackAppender.java
@Override
public void start() {
int errors = 0;
if (level == null) {
addStatus(new ErrorStatus("No level set for the appender named \"" + name + "\".", this));
errors++;
}
if (endpoint == null) {
addStatus(new ErrorStatus("No endpoint set for the appender named \"" + name + "\".", this));
errors++;
}
if (layout == null) {
addStatus(new ErrorStatus("No layout set for the appender named \"" + name + "\".", this));
errors++;
}
if (errors == 0) {
super.start();
}
}
项目:bartleby
文件:PatternLayoutBase.java
public void start() {
if(pattern == null || pattern.length() == 0) {
addError("Empty or null pattern.");
return;
}
try {
Parser<E> p = new Parser<E>(pattern);
if (getContext() != null) {
p.setContext(getContext());
}
Node t = p.parse();
this.head = p.compile(t, getEffectiveConverterMap());
if (postCompileProcessor != null) {
postCompileProcessor.process(head);
}
ConverterUtil.setContextForConverters(getContext(), head);
ConverterUtil.startConverters(this.head);
super.start();
} catch (ScanException sce) {
StatusManager sm = getContext().getStatusManager();
sm.add(new ErrorStatus("Failed to parse pattern \"" + getPattern()
+ "\".", this, sce));
}
}
项目:bartleby
文件:OutputStreamAppender.java
/**
* Checks that requires parameters are set and if everything is in order,
* activates this appender.
*/
public void start() {
int errors = 0;
if (this.encoder == null) {
addStatus(new ErrorStatus("No encoder set for the appender named \""
+ name + "\".", this));
errors++;
}
if (this.outputStream == null) {
addStatus(new ErrorStatus(
"No output stream set for the appender named \"" + name + "\".", this));
errors++;
}
// only error free appenders should be activated
if (errors == 0) {
super.start();
}
}
项目:bartleby
文件:OutputStreamAppender.java
/**
* Actual writing occurs here.
* <p>
* Most subclasses of <code>WriterAppender</code> will need to override this
* method.
*
* @since 0.9.0
*/
protected void subAppend(E event) {
if (!isStarted()) {
return;
}
try {
// this step avoids LBCLASSIC-139
if (event instanceof DeferredProcessingAware) {
((DeferredProcessingAware) event).prepareForDeferredProcessing();
}
// the synchronization prevents the OutputStream from being closed while we
// are writing. It also prevents multiple threads from entering the same
// converter. Converters assume that they are in a synchronized block.
lock.lock();
try {
writeOut(event);
} finally {
lock.unlock();
}
} catch (IOException ioe) {
// as soon as an exception occurs, move to non-started state
// and add a single ErrorStatus to the SM.
this.started = false;
addStatus(new ErrorStatus("IO failure in appender", this, ioe));
}
}
项目:bartleby
文件:BasicStatusManagerTest.java
@Test
public void many() {
int margin = 300;
int len = MAX_HEADER_COUNT + TAIL_SIZE + margin;
for (int i = 0; i < len; i++) {
bsm.add(new ErrorStatus("" + i, this));
}
List<Status> statusList = bsm.getCopyOfStatusList();
assertNotNull(statusList);
assertEquals(MAX_HEADER_COUNT + TAIL_SIZE, statusList.size());
List<Status> witness = new ArrayList<Status>();
for (int i = 0; i < MAX_HEADER_COUNT; i++) {
witness.add(new ErrorStatus("" + i, this));
}
for (int i = 0; i < TAIL_SIZE; i++) {
witness.add(new ErrorStatus("" + (MAX_HEADER_COUNT + margin + i), this));
}
assertEquals(witness, statusList);
}
项目:bartleby
文件:ContextInitializer.java
public void configureByResource(URL url) throws JoranException {
if (url == null) {
throw new IllegalArgumentException("URL argument cannot be null");
}
final String urlString = url.toString();
if (urlString.endsWith("groovy")) {
if (EnvUtil.isGroovyAvailable()) {
// avoid directly referring to GafferConfigurator so as to avoid
// loading groovy.lang.GroovyObject . See also http://jira.qos.ch/browse/LBCLASSIC-214
GafferUtil.runGafferConfiguratorOn(loggerContext, this, url);
} else {
StatusManager sm = loggerContext.getStatusManager();
sm.add(new ErrorStatus("Groovy classes are not available on the class path. ABORTING INITIALIZATION.",
loggerContext));
}
} else if (urlString.endsWith("xml")) {
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(loggerContext);
configurator.doConfigure(url);
} else {
throw new LogbackException("Unexpected filename extension of file [" + url.toString() + "]. Should be either .groovy or .xml");
}
}
项目:bartleby
文件:ContextInitializer.java
private void multiplicityWarning(String resourceName, ClassLoader classLoader) {
Set<URL> urlSet = null;
StatusManager sm = loggerContext.getStatusManager();
try {
urlSet = Loader.getResourceOccurrenceCount(resourceName, classLoader);
} catch (IOException e) {
sm.add(new ErrorStatus("Failed to get url list for resource [" + resourceName + "]",
loggerContext, e));
}
if (urlSet != null && urlSet.size() > 1) {
sm.add(new WarnStatus("Resource [" + resourceName + "] occurs multiple times on the classpath.",
loggerContext));
for (URL url : urlSet) {
sm.add(new WarnStatus("Resource [" + resourceName + "] occurs at [" + url.toString() + "]",
loggerContext));
}
}
}
项目:bartleby
文件:SiftingAppenderTest.java
@Test
public void zeroNesting() throws JoranException {
configure(SIFT_FOLDER_PREFIX + "zeroNesting.xml");
logger.debug("hello");
logger.debug("hello");
logger.debug("hello");
logger.debug("hello");
logger.debug("hello");
SiftingAppender sa = (SiftingAppender) root.getAppender("SIFT");
Appender<ILoggingEvent> appender = getAppenderTracker().find("zeroDefault");
assertNotNull(appender);
NOPAppender<ILoggingEvent> nopa = (NOPAppender<ILoggingEvent>) appender;
StatusPrinter.printInCaseOfErrorsOrWarnings(loggerContext);
statusChecker.assertContainsMatch(ErrorStatus.ERROR, "No nested appenders found");
}
项目:knowledgestore
文件:Logging.java
@Override
public synchronized void stop() {
if (!isStarted()) {
return;
}
try {
this.encoder.close();
// no need to restore System.out (due to buffering, better not to do that)
} catch (final IOException ex) {
addStatus(new ErrorStatus("Failed to write footer for appender named \""
+ this.name + "\".", this, ex));
} finally {
super.stop();
}
}
项目:knowledgestore
文件:Logging.java
@Override
protected synchronized void append(final E event) {
if (!isStarted()) {
return;
}
try {
if (event instanceof DeferredProcessingAware) {
((DeferredProcessingAware) event).prepareForDeferredProcessing();
}
this.encoder.doEncode(event);
} catch (final IOException ex) {
stop();
addStatus(new ErrorStatus("IO failure in appender named \"" + this.name + "\".",
this, ex));
}
}
项目:logback-sqs
文件:SqsAppender.java
/**
*
* @param eventObject
*/
private void subAppend(ILoggingEvent eventObject) {
if (!isStarted()) {
return;
}
try {
// this step avoids LBCLASSIC-139
if (eventObject instanceof DeferredProcessingAware) {
((DeferredProcessingAware) eventObject).prepareForDeferredProcessing();
}
this.encoder.doEncode(eventObject);
} catch (IOException ioe) {
this.started = false;
addStatus(new ErrorStatus("IO failure in appender", this, ioe));
}
}
项目:logback-sqs
文件:SqsAppender.java
@Override
public void start() {
try {
if (this.encoder == null) {
addStatus(new ErrorStatus("No encoder set for the appender named \"" + name + "\".", this));
return;
}
close();
this.sqs = new AmazonSQSAsyncClient(getCredentials(),
this.threadPool > 0 ? Executors.newFixedThreadPool(this.threadPool)
: Executors.newCachedThreadPool());
this.sqs.setEndpoint(new URI(this.queueUrl).getHost());
this.encoder.init(new SqsOutputStreamAdapter());
super.start();
} catch (Exception e) {
addError(this.getClass() + " start failure", e);
}
}
项目:pikes
文件:Logging.java
@Override
public synchronized void stop() {
if (!isStarted()) {
return;
}
try {
this.encoder.close();
// no need to restore System.out (due to buffering, better not to do that)
} catch (final IOException ex) {
addStatus(new ErrorStatus("Failed to write footer for appender named \""
+ this.name + "\".", this, ex));
} finally {
super.stop();
}
}
项目:pikes
文件:Logging.java
@Override
protected synchronized void append(final E event) {
if (!isStarted()) {
return;
}
try {
if (event instanceof DeferredProcessingAware) {
((DeferredProcessingAware) event).prepareForDeferredProcessing();
}
this.encoder.doEncode(event);
} catch (final IOException ex) {
stop();
addStatus(new ErrorStatus("IO failure in appender named \"" + this.name + "\".",
this, ex));
}
}
项目:wngn-jms-kafka
文件:KafkaAppenderTest.java
@Test
public void testDontStartWithoutTopic() {
unit.setTopic(null);
unit.start();
assertFalse("isStarted", unit.isStarted());
assertThat(ctx.getStatusManager().getCopyOfStatusList(),
hasItem(new ErrorStatus("No topic set for the appender named [\"kafkaAppenderBase\"].", null)));
}
项目:wngn-jms-kafka
文件:KafkaAppenderTest.java
@Test
public void testDontStartWithoutBoostrapServers() {
unit.getProducerConfig().clear();
unit.start();
assertFalse("isStarted", unit.isStarted());
assertThat(ctx.getStatusManager().getCopyOfStatusList(),
hasItem(new ErrorStatus("No \"bootstrap.servers\" set for the appender named [\"kafkaAppenderBase\"].", null)));
}
项目:wngn-jms-kafka
文件:KafkaAppenderTest.java
@Test
public void testDontStartWithoutEncoder() {
unit.setEncoder(null);
unit.start();
assertFalse("isStarted", unit.isStarted());
assertThat(ctx.getStatusManager().getCopyOfStatusList(),
hasItem(new ErrorStatus("No encoder set for the appender named [\"kafkaAppenderBase\"].", null)));
}
项目:minijax
文件:CloudWatchAppender.java
@Override
public synchronized void start() {
if (isStarted()) {
return;
}
if (layout == null) {
layout = new EchoLayout<>();
addStatus(new WarnStatus("No layout, default to " + layout, this));
}
if (logGroupName == null) {
logGroupName = getClass().getSimpleName();
addStatus(new WarnStatus("No logGroupName, default to " + logGroupName, this));
}
if (logStreamName == null) {
logStreamName = new SimpleDateFormat("yyyyMMdd'T'HHmmss").format(new Date());
addStatus(new WarnStatus("No logGroupName, default to " + logStreamName, this));
}
try {
if (awsLogs == null) {
awsLogs = AWSLogsClientBuilder.defaultClient();
}
createLogGroup();
createLogStream();
} catch (final AmazonClientException e) {
awsLogs = null;
addStatus(new ErrorStatus(e.getMessage(), this, e));
}
// Start a new daemon time thread to periodically upload events
// Because this is a deamon thread, it will not block shutdown
new DaemonTimerThread().start();
// Add a shutdown hook to catch any final events at shutdown
Runtime.getRuntime().addShutdownHook(new ShutdownHook());
layout.start();
super.start();
}
项目:uroborosql
文件:AbstractEncodedAppender.java
@Override
public void start() {
if (this.encoder == null) {
addStatus(new ErrorStatus("No encoder set for the appender named \"" + this.name + "\".", this));
return;
}
super.start();
}
项目:telegram-logback
文件:TelegramAppender.java
public void setMinInterval(String minInterval) {
try {
this.minInterval = Integer.parseInt(minInterval);
} catch (NumberFormatException e) {
addStatus(new ErrorStatus("Bad minInterval for the appender named \"" + name + "\". Leaving to defaultValue ", this));
}
}
项目:telegram-logback
文件:TelegramAppender.java
public void setConnectTimeout(String connectTimeout) {
try {
this.connectTimeout = Integer.parseInt(connectTimeout);
} catch (NumberFormatException e) {
addStatus(new ErrorStatus("Bad connectTimeout for the appender named \"" + name + "\". Leaving to defaultValue ", this));
}
}
项目:telegram-logback
文件:TelegramAppender.java
public void setConnectionRequestTimeout(String connectionRequestTimeout) {
try {
this.connectionRequestTimeout = Integer.parseInt(connectionRequestTimeout);
} catch (NumberFormatException e) {
addStatus(new ErrorStatus("Bad connectionRequestTimeout for the appender named \"" + name + "\". Leaving to defaultValue ", this));
}
}
项目:telegram-logback
文件:TelegramAppender.java
public void setSocketTimeout(String socketTimeout) {
try {
this.socketTimeout = Integer.parseInt(socketTimeout);
} catch (NumberFormatException e) {
addStatus(new ErrorStatus("Bad socketTimeout for the appender named \"" + name + "\". Leaving to defaultValue ", this));
}
}
项目:DigitalMediaServer
文件:CacheAppender.java
@Override
protected void append(E eventObject) {
try {
synchronized (eventListLock) {
eventList.add(eventObject);
}
} catch (Exception e) {
addStatus(new ErrorStatus(
getName() + " failed to append event: " + e.getLocalizedMessage(), this, e)
);
}
}
项目:bartleby
文件:OutputStreamAppender.java
/**
* Close the underlying {@link OutputStream}.
*/
protected void closeOutputStream() {
if (this.outputStream != null) {
try {
// before closing we have to output out layout's footer
encoderClose();
this.outputStream.close();
this.outputStream = null;
} catch (IOException e) {
addStatus(new ErrorStatus(
"Could not close output stream for OutputStreamAppender.", this, e));
}
}
}
项目:bartleby
文件:OutputStreamAppender.java
void encoderInit() {
if (encoder != null && this.outputStream != null) {
try {
encoder.init(outputStream);
} catch (IOException ioe) {
this.started = false;
addStatus(new ErrorStatus(
"Failed to initialize encoder for appender named [" + name + "].",
this, ioe));
}
}
}
项目:bartleby
文件:OutputStreamAppender.java
void encoderClose() {
if (encoder != null && this.outputStream != null) {
try {
encoder.close();
} catch (IOException ioe) {
this.started = false;
addStatus(new ErrorStatus("Failed to write footer for appender named ["
+ name + "].", this, ioe));
}
}
}
项目:bartleby
文件:ResilientOutputStreamBase.java
public void postIOFailure(IOException e) {
addStatusIfCountNotOverLimit(new ErrorStatus("IO failure while writing to "
+ getDescription(), this, e));
presumedClean = false;
if (recoveryCoordinator == null) {
recoveryCoordinator = new RecoveryCoordinator();
}
}
项目:bartleby
文件:BasicStatusManagerTest.java
@Test
public void smoke() {
bsm.add(new ErrorStatus("hello", this));
assertEquals(Status.ERROR, bsm.getLevel());
List<Status> statusList = bsm.getCopyOfStatusList();
assertNotNull(statusList);
assertEquals(1, statusList.size());
assertEquals("hello", statusList.get(0).getMessage());
}
项目:bartleby
文件:StatusPrinterTest.java
@Test
public void testNested() {
Status s0 = new ErrorStatus("test0", this);
Status s1 = new InfoStatus("test1", this);
Status s11 = new InfoStatus("test11", this);
Status s12 = new InfoStatus("test12", this);
s1.add(s11);
s1.add(s12);
Status s2 = new InfoStatus("test2", this);
Status s21 = new InfoStatus("test21", this);
Status s211 = new WarnStatus("test211", this);
Status s22 = new InfoStatus("test22", this);
s2.add(s21);
s2.add(s22);
s21.add(s211);
Context context = new ContextBase();
context.getStatusManager().add(s0);
context.getStatusManager().add(s1);
context.getStatusManager().add(s2);
StatusPrinter.print(context);
String result = outputStream.toString();
assertTrue(result.contains("+ INFO in "+this.getClass().getName()));
assertTrue(result.contains("+ WARN in "+this.getClass().getName()));
assertTrue(result.contains(" |-WARN in "+this.getClass().getName()));
}
项目:bartleby
文件:StatusPrinterTest.java
@Test
public void testWithException() {
Status s0 = new ErrorStatus("test0", this);
Status s1 = new InfoStatus("test1", this, new Exception("testEx"));
Status s11 = new InfoStatus("test11", this);
Status s12 = new InfoStatus("test12", this);
s1.add(s11);
s1.add(s12);
Status s2 = new InfoStatus("test2", this);
Status s21 = new InfoStatus("test21", this);
Status s211 = new WarnStatus("test211", this);
Status s22 = new InfoStatus("test22", this);
s2.add(s21);
s2.add(s22);
s21.add(s211);
Context context = new ContextBase();
context.getStatusManager().add(s0);
context.getStatusManager().add(s1);
context.getStatusManager().add(s2);
StatusPrinter.print(context);
String result = outputStream.toString();
assertTrue(result.contains("|-ERROR in "+this.getClass().getName()));
assertTrue(result.contains("+ INFO in "+this.getClass().getName()));
assertTrue(result.contains("ch.qos.logback.core.util.StatusPrinterTest.testWithException"));
}
项目:bartleby
文件:AbstractServerSocketAppenderTest.java
@Test
public void testStopThrowsException() throws Exception {
appender.start();
assertTrue(appender.isStarted());
IOException ex = new IOException("test exception");
runner.setStopException(ex);
appender.stop();
Status status = context.getLastStatus();
assertNotNull(status);
assertTrue(status instanceof ErrorStatus);
assertTrue(status.getMessage().contains(ex.getMessage()));
assertSame(ex, status.getThrowable());
}
项目:bartleby
文件:GafferUtil.java
private static void addError(LoggerContext context, Object origin, String msg, Throwable t) {
StatusManager sm = context.getStatusManager();
if (sm == null) {
return;
}
sm.add(new ErrorStatus(msg, origin, t));
}
项目:bartleby
文件:ServerSocketReceiverTest.java
@Test
public void testStopThrowsException() throws Exception {
receiver.start();
assertTrue(receiver.isStarted());
IOException ex = new IOException("test exception");
runner.setStopException(ex);
receiver.stop();
Status status = context.getLastStatus();
assertNotNull(status);
assertTrue(status instanceof ErrorStatus);
assertTrue(status.getMessage().contains(ex.getMessage()));
assertSame(ex, status.getThrowable());
}
项目:bartleby
文件:SiftingAppenderTest.java
@Test
public void multipleNesting() throws JoranException {
configure(SIFT_FOLDER_PREFIX + "multipleNesting.xml");
logger.debug("hello");
logger.debug("hello");
logger.debug("hello");
Appender<ILoggingEvent> listAppender = getAppenderTracker().find("multipleDefault");
StatusPrinter.printInCaseOfErrorsOrWarnings(loggerContext);
assertNotNull(listAppender);
statusChecker.assertContainsMatch(ErrorStatus.ERROR,
"Only and only one appender can be nested");
}
项目:knowledgestore
文件:Logging.java
public synchronized void setWithJansi(final boolean withJansi) {
if (isStarted()) {
addStatus(new ErrorStatus("Cannot configure appender named \"" + this.name
+ "\" after it has been started.", this));
}
this.withJansi = withJansi;
}