You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-user@logging.apache.org by "Mehmet D. AKIN" <md...@uekae.tubitak.gov.tr> on 2004/03/18 15:30:42 UTC

[SOLUTION] Cosole appender encoding problem (it always uses default encoding)

Sure, here it is, I created a new appender, extending default Console 
appender:

TurkishWindowsConsoleAppender.java

/*
 * Created on 18.Mar.2004
 *
 */
package foo;

import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;

import org.apache.log4j.ConsoleAppender;

/**
 * @author Mehmet D. AKIN
 *
 */
public class TurkishWindowsConsoleAppender extends ConsoleAppender {
    public TurkishWindowsConsoleAppender (){
        super();
    }
   
    public void activateOptions() {
        if(target.equals(SYSTEM_OUT)) {
            try {
                if(Conf.isRunningOnWinConsole)  //<-- make this true to 
use your own windows console encoding
                    setWriter(new 
OutputStreamWriter(System.out,"CP857")); // <-- Put your own encoding here
                else
                    setWriter(new OutputStreamWriter(System.out));
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
        } else {
            setWriter(new OutputStreamWriter(System.err));
        }
    }
}

and change your Logger configuration file as:

log4j.rootCategory=DEBUG, cons
log4j.appender.cons=foo.TurkishWindowsConsoleAppender

Hope it helps

Mehmet.




Shapira, Yoav wrote:

>Hi,
>Would you care to donate your enhancement to the log4j project?  We'd be
>grateful ;)
>
>Yoav Shapira
>Millennium Research Informatics
>
>
>  
>



---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org