メッセージを出力する作業を行ってsyslogd
います(タブ、スペースなどを含む...)syslogd
。/ var/log /ディレクトリのファイルを観察すると、メッセージにタブがありません。代わりに、印刷してい^I
ます。
ubuntu 10.04 LTS
と でこのプログラムを実行していsysklogd
ます。
import org.apache.log4j.Appender;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
import org.apache.log4j.net.SyslogAppender;
public class syslogPrinter {
private static int sysLogFacility = SyslogAppender.LOG_LOCAL3;
private static String syslogHost = "localhost";
private static String layoutPattern = "%m%n";
public static Logger log2static = Logger.getLogger(syslogPrinter.class);
public static void main(String[] args) {
log2static.setLevel(Level.INFO);
PatternLayout layout = new PatternLayout(layoutPattern);
Appender syslogdAppender = new SyslogAppender(layout, syslogHost, sysLogFacility);
log2static.addAppender(syslogdAppender);
String str2 = "this is a tab: ";
str2 = str2.concat("\t");
str2 = str2.concat(" after space");
log2static.error(str2);
}
}
出力は次のようになります
これはタブです: スペースの後の ^I
期待アウトプットは
これはタブです: スペースの後 (タブ スペースが来るはずです)
^I
.......の代わりにメッセージにタブを印刷する方法を教えてください。
ファイルを構成する必要がありsyslogd.conf
ますか?