Log4j2

2015-01-30 11 views
5

में TimeBasedTriggeringPolicy के लिए दिनांक/समय पैटर्न को परिभाषित करने के लिए कहां मैं Log4j2 में नया हूं और RollingFileAppender का उपयोग करना चाहता हूं। रोलओवर के रूप में मैं टाइमबेस ट्रिगरिंग पॉलिसी का उपयोग करना चाहता हूं:Log4j2

टाइमबैड ट्रिगरिंग पॉलिसी एक रोलओवर का कारण बनता है जब दिनांक/समय पैटर्न सक्रिय फ़ाइल पर लागू नहीं होता है।

साइट पर ऊपर वहाँ इस तरह के एक TimeBasedTriggeringPolicy के लिए एक उदाहरण है:

<?xml version="1.0" encoding="UTF-8"?>  
<Configuration status="warn" name="MyApp" packages=""> 
    <Appenders> 
     <RollingFile name="RollingFile" fileName="logs/app.log" 
    filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz"> 
      <PatternLayout> 
       <Pattern>%d %p %c{1.} [%t] %m%n</Pattern> 
      </PatternLayout> 
      <Policies> 
       <TimeBasedTriggeringPolicy /> 
       <SizeBasedTriggeringPolicy size="250 MB"/> 
      </Policies> 
     </RollingFile> 
    </Appenders> 
    <Loggers> 
     <Root level="error"> 
      <AppenderRef ref="RollingFile"/> 
     </Root> 
    </Loggers> 
</Configuration> 

कहाँ "दिनांक/समय पैटर्न" परिभाषित ऊपर विन्यास, जो निर्धारित करता है में है अगर सक्रिय फ़ाइल यह लागू होता है या नहीं?

आपकी मदद के लिए धन्यवाद!

उत्तर

8

वह फ़ाइल पैटर्न है। अपने config में:

filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz"> 

सबसे व्यापक समय इकाई से ऊपर में dd (दिन) है, इसलिए यह आधी रात को दैनिक रोलओवर होगा।

+0

क्या टाइमबैड ट्रिगरिंग पॉलिसी और साइजबेसेड ट्रिगरिंग पॉलिसी के बीच ऑर्डर महत्वपूर्ण है? –

+0

नहीं, कोई भी आदेश ठीक है क्योंकि परिणाम या तो "हां रोलओवर" या "रोल रोलओवर" नहीं है। –

संबंधित मुद्दे