例如,在logback的Syslogappender中:
String getPrefixPattern() {
return "%syslogStart{" + getFacility() + "}%nopex{}";
}
同样转换PatternLayout中的单词/字符(线程为%t
)。
这些是什么?变量?如果是,那是什么类型?
无论它们是什么,JVM分别将它们分别变为线程标识符和与syslog协议相关的信息。我想知道怎么做。
此外,我如何找出转换为%syslogStart
的消息?
答案 0 :(得分:1)
https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/EnhancedPatternLayout.html
“每个转换说明符都以百分号(%)开头,后跟可选的格式修饰符和转换字符....”
所以%syslogStart {facility string}似乎确定了这个日志的编写方式,尽管这与Java中的Patternlayout类直接相关。这不是JVM对%做任何事情,而是它是一个标识符,似乎是由其他一些进程处理的。
http://logback.qos.ch/xref/ch/qos/logback/core/net/SyslogAppenderBase.html “ Facility 选项必须设置字符串KERN,USER,MAIL之一, DAEMON,AUTH,SYSLOG,LPR,NEWS,UUCP,CRON,AUTHPRIV,FTP,NTP,AUDIT, ALERT,CLOCK,LOCAL0,LOCAL1,LOCAL2,LOCAL3,LOCAL4,LOCAL5,LOCAL6, LOCAL7。案件并不重要。“