我正在处理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
文件吗?