2016-03-12 12 views
0

例如,在的logback的Syslogappender:java中的%符號是什麼,它是如何工作的? (未模!)

String getPrefixPattern() { 
      return "%syslogStart{" + getFacility() + "}%nopex{}"; 
} 

同樣的轉換字/在的PatternLayout字符(%t一個線程)。

這些是什麼?變量?如果是這樣,什麼類型?

無論它們是什麼,JVM都會以某種方式將它們分別更改爲線程標識符和與syslog協議相關的信息。我想知道如何。

此外,我怎樣才能知道什麼信息%syslogStart得到轉換?

+1

JVM不會對它們做任何事情。有關課程以其Javadoc中指定的方式進行。 – EJP

+0

類除非在JVM中執行,否則不會執行任何操作。 – Jibbyj

回答

1

https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/EnhancedPatternLayout.html

「每個轉換說明一個百分號(%)開頭,後跟可選格式修飾符和轉換字符......」

於是%syslogStart {設施串}似乎以確定此日誌寫入的設備,儘管這與Java中的Patternlayout類直接相關。並不是說JVM對%做任何事情,但它是一個標識符,似乎是由其他進程處理的。

http://logback.qos.ch/xref/ch/qos/logback/core/net/SyslogAppenderBase.html 「的設施選項必須設置一個字符串時KERN,USER,MAIL, DAEMON,AUTH,SYSLOG,LPR,新聞,UUCP,CRON,AUTHPRIV,FTP,NTP,審計, ALERT ,CLOCK,LOCAL0,LOCAL1,LOCAL2,LOCAL3,LOCAL4,LOCAL5,LOCAL6, LOCAL7。案例不重要。「

相關問題