CodeGym /Java Course /தொகுதி 3 /Log4j இல் பதிவு வடிகட்டிகள்

Log4j இல் பதிவு வடிகட்டிகள்

தொகுதி 3
நிலை 5 , பாடம் 4
கிடைக்கப்பெறுகிறது

5.1 வடிப்பான்களின் பட்டியல்

செய்தி வடிகட்டலை மிகவும் கூலாக உள்ளமைக்க லாகர் உங்களை அனுமதிக்கிறது. இதைச் செய்ய, அவர் அனைத்து வகையான அளவுருக்களுடன் இரண்டு டஜன் வடிப்பான்களைக் கொண்டுள்ளார். கீழே உள்ள அட்டவணை மிகவும் பிரபலமானவற்றைக் காட்டுகிறது.

வடிப்பான்கள் விளக்கம்
1 பர்ஸ்ட் ஃபில்டர் கொடுக்கப்பட்ட பதிவு நிலைக்கு வினாடிக்கு செய்திகளின் அதிர்வெண்ணைக் கட்டுப்படுத்த உங்களை அனுமதிக்கிறது.
2 கூட்டு வடிகட்டி பல தொடர் வடிப்பான்களை அமைக்க உங்களை அனுமதிக்கிறது.
3 டைனமிக் த்ரெஷோல்ட் ஃபில்டர் பதிவில் குறிப்பிட்ட தகவல்கள் காணப்பட்டால், விரிவான பதிவை இயக்க உங்களை அனுமதிக்கிறது.
4 வரைபட வடிகட்டி பல அளவுருக்களிலிருந்து வடிகட்டிக்கான சிக்கலான தருக்க வெளிப்பாட்டை உருவாக்க உங்களை அனுமதிக்கிறது.
5 மார்க்கர் வடிகட்டி குறிச்சொற்கள் மூலம் செய்திகளை வடிகட்ட உங்களை அனுமதிக்கிறது, நிகழ்வு பதிவு செய்யும் போது குறிச்சொல் முதலில் சேர்க்கப்பட வேண்டும்.
6 RegexFilter முகமூடியை அமைக்க உங்களை அனுமதிக்கிறது - வழக்கமான வெளிப்பாடு.
7 கட்டமைக்கப்பட்ட தரவு வடிகட்டி சில தரவுகள் இருப்பதால் செய்திகளை வடிகட்ட உங்களை அனுமதிக்கிறது.
8 ThreadContextMapFilter தற்போதைய தொடரின் சூழலில் இருந்து எடுக்கப்பட்ட தரவின் அடிப்படையில் வடிப்பான்களை நிர்வகிக்க உங்களை அனுமதிக்கிறது.
9 த்ரெஷோல்ட் ஃபில்டர் பதிவு செய்தியின் நிலையின் அடிப்படையில் பதிவு செய்வதைக் கட்டுப்படுத்துகிறது.
10 டைம்ஃபில்டர் குறிப்பிட்ட நேரத்தில் வடிப்பான்களை ஆன் மற்றும் ஆஃப் செய்ய உங்களை அனுமதிக்கிறது.

அவற்றில் மூன்றைப் பற்றி மட்டுமே கீழே பேசுவோம். இந்த வடிப்பான்களைப் பற்றி அவர்களின் அதிகாரப்பூர்வ இணையதளத்தில் நீங்கள் மேலும் அறியலாம் .

5.2 டைம்ஃபில்டர்

வடிகட்டி TimeFilterஒரு குறிப்பிட்ட நேரத்தில் வடிப்பான்களை இயக்க மற்றும் அணைக்க உங்களை அனுமதிக்கிறது, இது 5 அளவுருக்களைக் கொண்டுள்ளது:

1 தொடங்கு வடிவமைப்பில் தொடங்கும் நேரத்தை பதிவு செய்தல்HH:mm:ss
2 முடிவு வடிவத்தில் லாக் ஆஃப் நேரம்HH:mm:ss
3 நேரம் மண்டலம் நேர மண்டலத்தை அமைக்கிறது.
4 ஆட்டத்தில் வடிகட்டி நிலை உண்மையாக இருந்தால் உள்நுழைவது எப்படி . ஒருவேளை ACCEPT, DENYஅல்லது NEUTRAL. இயல்புநிலை NEUTRAL.
5 பொருத்தமற்றது வடிகட்டி நிலை தவறாக இருந்தால் உள்நுழைவது எப்படி . ஒருவேளை ACCEPT, DENYஅல்லது NEUTRAL. இயல்புநிலை NEUTRAL.

ஒவ்வொரு நாளும் காலை 5 மணிக்கு லாக்கிங் ஆன் செய்து 5:30 மணிக்கு ஆஃப் செய்யும் ஃபில்டரை அமைப்போம். முழுமையான வடிகட்டி உள்ளமைவுடன் ஒரு எடுத்துக்காட்டு கீழே உள்ளது:


    <?xml version="1.0" encoding="UTF-8"?>
    <Configuration status="warn" name="MyApp" packages="">
    <Appenders>
        <RollingFile name="RollingFile" fileName="logs/app.log" filePattern="logs/app-%d{MM-dd-yyyy}.log.gz">
        <TimeFilter start="05:00:00" end="05:30:00" onMatch="ACCEPT" onMismatch="DENY"/>
        <PatternLayout>
            <pattern>%d %p %c{1.} [%t] %m%n</pattern>
        </PatternLayout>
        <TimeBasedTriggeringPolicy />
        </RollingFile>
    </Appenders>
    <Loggers>
        <Root level="error">
        <AppenderRef ref="RollingFile"/>
        </Root>
    </Loggers>
    </Configuration>

5.3 RegexFilter

RegexFilterசெய்திகளை வடிகட்டுவதற்கு முகமூடியை (வழக்கமான வெளிப்பாடு) அமைக்க வடிகட்டி உங்களை அனுமதிக்கிறது. இந்த வடிப்பானில் 4 அளவுருக்கள் உள்ளன:

1 regex வழக்கமான வெளிப்பாட்டைக் குறிப்பிடுகிறது - செய்திகளை வடிகட்டப் பயன்படும் முகமூடி.HH:mm:ss
2 பயன்படுத்த ராவ்எம்எஸ்ஜி வடிவமைப்பிற்கு முன் (உண்மை) அல்லது வடிவமைத்த பிறகு (தவறு) முகமூடி செய்தியில் பயன்படுத்தப்படுகிறது.
3 ஆட்டத்தில் வடிகட்டி நிலை உண்மையாக இருந்தால் உள்நுழைவது எப்படி . ஒருவேளை ACCEPT, DENYஅல்லது NEUTRAL. இயல்புநிலை NEUTRAL.
4 பொருத்தமற்றது வடிகட்டி நிலை தவறாக இருந்தால் உள்நுழைவது எப்படி . ஒருவேளை ACCEPT, DENYஅல்லது NEUTRAL. இயல்புநிலை NEUTRAL.

ஜவாருஷ் என்ற வார்த்தை கொண்ட செய்திகளை மட்டும் அனுமதிக்கும் வடிப்பானை அமைப்போம். முழுமையான வடிகட்டி உள்ளமைவுடன் ஒரு எடுத்துக்காட்டு கீழே உள்ளது:


    <?xml version="1.0" encoding="UTF-8"?>
    <Configuration status="warn" name="MyApp" packages="">
    <Appenders>
        <RollingFile name="RollingFile" fileName="logs/app.log"   filePattern="logs/app-%d{MM-dd-yyyy}.log.gz">
        <RegexFilter regex=".* codegym .*" onMatch="ACCEPT" onMismatch="DENY"/>
        <PatternLayout>
            <pattern>%d %p %c{1.} [%t] %m%n</pattern>
        </PatternLayout>
        <TimeBasedTriggeringPolicy />
        </RollingFile>
      </Appenders>
    <Loggers>
        <Root level="error">
        <AppenderRef ref="RollingFile"/>
        </Root>
    </Loggers>
    </Configuration>

5.4 த்ரெஷோல்ட் ஃபில்டர்

த்ரெஷோல்ட் ஃபில்டர் வடிப்பான், செய்தி நிலை மூலம் வடிகட்டலை உள்ளமைக்க உங்களை அனுமதிக்கிறது. இது 3 அளவுருக்களை மட்டுமே கொண்டுள்ளது:

1 நிலை செய்தி பதிவு நிலையின் பெயரை அமைக்கிறது: ERROR, DEBUG, …
2 ஆட்டத்தில் வடிகட்டி நிலை உண்மையாக இருந்தால் உள்நுழைவது எப்படி . ஒருவேளை ACCEPT, DENYஅல்லது NEUTRAL. இயல்புநிலை NEUTRAL.
3 பொருத்தமற்றது வடிகட்டி நிலை தவறாக இருந்தால் உள்நுழைவது எப்படி . ஒருவேளை ACCEPT, DENYஅல்லது NEUTRAL. இயல்புநிலை NEUTRAL.

நிலை செய்திகளை மட்டுமே அனுமதிக்கும் வடிப்பானை அமைப்போம் DEBUG. முழுமையான வடிகட்டி உள்ளமைவுடன் ஒரு எடுத்துக்காட்டு கீழே உள்ளது:


    <?xml version="1.0" encoding="UTF-8"?>
    <Configuration status="warn" name="MyApp" packages="">
    <Appenders>
        <RollingFile name="RollingFile" fileName="logs/app.log" filePattern="logs/app-%d{MM-dd-yyyy}.log.gz">
           <ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="DENY"/>
        <PatternLayout>
            <pattern>%d %p %c{1.} [%t] %m%n</pattern>
        </PatternLayout>
        <TimeBasedTriggeringPolicy />
        </RollingFile>
    </Appenders>
    <Loggers>
        <Root level="error">
        <AppenderRef ref="RollingFile"/>
        </Root>
    </Loggers>
    </Configuration>
கருத்துக்கள்
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION