Hello Naozo,
I'll be sure to study and integrate your changes. Thank you! --- YOSHIOKA Naozo <[EMAIL PROTECTED]> wrote: > I found SMTPAppender doesn't send japanese message > correctly > and FileAppender always uses the default encoding. > I could solve the problems by writing subclasses > but I think it's better SMTPAppender and > FileAppender would be improved for them. > I modified SMTPAppender.java and FileAppender.java > of log4j-1.1.3 then tested. > It worked fine. > > Could anybody please merge the changes to the > original source? > > If you have any questions, please let me know. > Thanks very much. > > > * Problem > > SMTPAppender > > The mail I received has > Content-Type: text/plain > though the body contains like ??? > because the japanese string isn't converted > correctly. > > > FileAppender > > I would like to write logs in utf-8 > but FileAppender always uses the default encoding.. > and there is no way to specify the encoding. > > > * Modification > > SMTPAppender > > Add the feature to specify a charset. > > > FileAppender > > Add the feature to specify an encoding. > > > * Source code modification > > org/apache/log4j/net/SMTPAppender.java > > 54a55 > > private String charset; > 339c340,343 > < part.setContent(sbuf.toString(), > layout.getContentType()); > --- > > part.setContent(sbuf.toString(), > > charset == null ? > > layout.getContentType() : > > layout.getContentType() + > ";charset=" + charset); > 513a518,527 > > } > > > > public > > void setCharset(String charset) { > > this.charset = charset; > > } > > > > public > > String getCharset() { > > return charset; > > > org/apache/log4j/FileAppender.java > > 14a15 > > import java.io.FileOutputStream; > 84a86,87 > > private String encoding = null; > > > 227a231,239 > > public > > void setEncoding(String encoding) { > > this.encoding = encoding; > > } > > > > public > > String getEncoding() { > > return encoding; > > } > 284c296,300 > < this.setQWForFiles(new FileWriter(fileName, > append)); > --- > > this.setQWForFiles(encoding == null ? > > new FileWriter(fileName, > append) : > > new OutputStreamWriter( > > new > FileOutputStream(fileName, append), > > encoding)); > > > * Test > > I tested modified code using a XML configuration > file. > I put > <param name="Encoding" value="utf-8"/> > for org.apache.log4j.FileAppender, > org.apache.log4j.RollingFileAppender > org.apache.log4j.DailyRollingFileAppender > and > <param name="Charset" value="iso-2022-jp"/> > for org.apache.log4j.net.SMTPAppender. > I ran the test program with javamail-1.2 and > jaf-1.0.1. > It worked file. > > > Naozo > > > > -- > To unsubscribe, e-mail: > <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: > <mailto:[EMAIL PROTECTED]> > ===== --------- Ceki - http://qos.ch __________________________________________________ Do You Yahoo!? Send FREE video emails in Yahoo! Mail! http://promo.yahoo.com/videomail/ -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>