簡體   English   中英

java中的%號是什么?它如何工作? (不是模!)

[英]What is the % sign in java and how does it work? (not modulo!)

例如,在logback的Syslogappender中:

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

同樣,PatternLayout中的轉換字/字符(線程的%t )。

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

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

此外,如何找出%syslogStart轉換成什么消息?

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,新聞,UUCP,CRON,AUTHPRIV,FTP,NTP,審計,警報,時鍾,LOCAL0,LOCAL1,LOCAL2,LOCAL3,LOCAL4,LOCAL5,LOCAL6,LOCAL7。大小寫並不重要。”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM