alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

What this is

This file is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Other links

The source code

/*
 * Copyright (C) The Apache Software Foundation. All rights reserved.
 *
 * This software is published under the terms of the Apache Software License
 * version 1.1, a copy of which has been included  with this distribution in
 * the LICENSE.txt file.
 */

package org.apache.log4j.helpers;

import  org.apache.log4j.spi.ErrorHandler;
import  org.apache.log4j.spi.LoggingEvent;
import  org.apache.log4j.Logger;
import  org.apache.log4j.Appender;

/**

   The OnlyOnceErrorHandler implements log4j's default
   error handling policy which consists of emitting a message for the
   first error in an appender and ignoring all following errors.

   

The error message is printed on System.err.

This policy aims at protecting an otherwise working application from being flooded with error messages when logging fails. @author Ceki Gülcü @since 0.9.0 */ public class OnlyOnceErrorHandler implements ErrorHandler { final String WARN_PREFIX = "log4j warning: "; final String ERROR_PREFIX = "log4j error: "; boolean firstTime = true; /** Does not do anything. */ public void setLogger(Logger logger) { } /** No options to activate. */ public void activateOptions() { } /** Prints the message and the stack trace of the exception on System.err. */ public void error(String message, Exception e, int errorCode) { error(message, e, errorCode, null); } /** Prints the message and the stack trace of the exception on System.err. */ public void error(String message, Exception e, int errorCode, LoggingEvent event) { if(firstTime) { LogLog.error(message, e); firstTime = false; } } /** Print a the error message passed as parameter on System.err. */ public void error(String message) { if(firstTime) { LogLog.error(message); firstTime = false; } } /** Does not do anything. */ public void setAppender(Appender appender) { } /** Does not do anything. */ public void setBackupAppender(Appender appender) { } }

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.