{"id":2576,"date":"2022-03-24T14:52:44","date_gmt":"2022-03-24T06:52:44","guid":{"rendered":"https:\/\/www.xiaobo.li\/notes\/?p=2576"},"modified":"2023-04-07T11:23:53","modified_gmt":"2023-04-07T03:23:53","slug":"log4j-xml","status":"publish","type":"post","link":"https:\/\/www.xiaobo.li\/notes\/archives\/2576","title":{"rendered":"log4j.xml \/ logback.xml"},"content":{"rendered":"<h2 id=\"slide-0\" data-lake-id=\"09677e9e4e79bec0fa568bb6dbcfcabb\" data-spm-anchor-id=\"a2c6h.12873639.article-detail.i5.3a864fc3NBP4hJ\">\u4e00\u3001Log4j2\u4ecb\u7ecd<\/h2>\n<p data-lake-id=\"00bec5be7d5975fc35cb74c6f2655fa2\">\u2003\u2003Log4j 2.x\u7248\u672c\u4e0d\u518d\u652f\u6301\u50cf1.x\u4e2d\u7684.properties\u540e\u7f00\u7684\u6587\u4ef6\u914d\u7f6e\u65b9\u5f0f\uff0c2.x\u7248\u672c\u914d\u7f6e\u6587\u4ef6\u540e\u7f00\u540d\u53ea\u80fd\u4e3a\".xml\",\".json\"\u6216\u8005\".jsn\"\u3002<\/p>\n<ul data-lake-id=\"98ef961eeebac3aaed1b1e87dbc68bf0\">\n<li data-lake-id=\"7fa18ee183fcdda209f8a21445129664\">\u914d\u7f6e\u6587\u4ef6\u7684\u683c\u5f0f\uff1alog2j\u914d\u7f6e\u6587\u4ef6\u53ef\u4ee5\u662fxml\u683c\u5f0f\u7684\uff0c\u4e5f\u53ef\u4ee5\u662fjson\u683c\u5f0f\u7684\u3002<\/li>\n<li data-lake-id=\"f586998fede36a4c47797bf7252a586a\">\u914d\u7f6e\u6587\u4ef6\u7684\u4f4d\u7f6e\uff1alog4j2\u9ed8\u8ba4\u4f1a\u5728classpath\u76ee\u5f55\u4e0b\u5bfb\u627elog4j2.xml\u3001log4j.json\u3001log4j.jsn\u7b49\u540d\u79f0\u7684\u6587\u4ef6\u3002<\/li>\n<\/ul>\n<p data-lake-id=\"de128a7ea2d92820dd87aa837e1ea992\">\u7cfb\u7edf\u9009\u62e9\u914d\u7f6e\u6587\u4ef6\u7684\u4f18\u5148\u7ea7(\u4ece\u5148\u5230\u540e)\u5982\u4e0b\uff1a<\/p>\n<ol data-lake-id=\"2e6e46a3bec340b7538178d0717a7f42\">\n<li data-lake-id=\"f8b493195dab25ae14c543f85c0ba058\">.classpath\u4e0b\u7684\u540d\u4e3alog4j2-test.json \u6216\u8005log4j2-test.jsn\u7684\u6587\u4ef6.<\/li>\n<li data-lake-id=\"8a2b9a6463863b25e800442581d98185\">.classpath\u4e0b\u7684\u540d\u4e3alog4j2-test.xml\u7684\u6587\u4ef6.<\/li>\n<li data-lake-id=\"86de8f01ba9265b1fed3fe21e1d30747\">.classpath\u4e0b\u540d\u4e3alog4j2.json \u6216\u8005log4j2.jsn\u7684\u6587\u4ef6.<\/li>\n<li data-lake-id=\"d080e20de33a411ccbfcf9e8cf7da9ee\">.classpath\u4e0b\u540d\u4e3alog4j2.xml\u7684\u6587\u4ef6.<\/li>\n<\/ol>\n<p data-lake-id=\"44a27f321e6c923970391fee71b749ae\" data-spm-anchor-id=\"a2c6h.12873639.article-detail.i3.3a864fc3NBP4hJ\">\u4e00\u822c\u9ed8\u8ba4\u4f7f\u7528log4j2.xml.<\/p>\n<h2 id=\"slide-1\" data-lake-id=\"17f29d9c7da16cfed65d63d14cf6f291\">\u4e8c\u3001\u914d\u7f6e\u6587\u4ef6\u8282\u70b9\u89e3\u6790<\/h2>\n<h4 id=\"slide-2\" data-lake-id=\"2e1cad376a346ae40eab2443e384b03d\">(1).\u6839\u8282\u70b9<\/h4>\n<ul data-lake-id=\"22d5c070344a54c4e88fa4cc49b0a242\">\n<li data-lake-id=\"6267353dd32b2b3b7111b5d5250cb62a\">Configuration\u6709\u4e24\u4e2a\u5c5e\u6027:status\u548cmonitorinterval,\u6709\u4e24\u4e2a\u5b50\u8282\u70b9:Appenders\u548cLoggers(\u8868\u660e\u53ef\u4ee5\u5b9a\u4e49\u591a\u4e2aAppender\u548cLogger)\u3002<\/li>\n<li data-lake-id=\"676fc0e858993af050a039655427d89a\">status\u7528\u6765\u6307\u5b9alog4j\u672c\u8eab\u7684\u6253\u5370\u65e5\u5fd7\u7684\u7ea7\u522b.<\/li>\n<li data-lake-id=\"1f8bdc175db83469bf1428d5ce219392\">monitorinterval\u7528\u4e8e\u6307\u5b9alog4j\u81ea\u52a8\u91cd\u65b0\u914d\u7f6e\u7684\u76d1\u6d4b\u95f4\u9694\u65f6\u95f4\uff0c\u5355\u4f4d\u662fs,\u6700\u5c0f\u662f5s.<\/li>\n<\/ul>\n<h4 id=\"slide-4\" data-lake-id=\"fa8dd47dfa168e225b28c0e75de515e3\">(2).Appenders\u8282\u70b9\uff0c<\/h4>\n<p data-lake-id=\"ae94434ce7a344702a9b6e5fd1416482\">\u5e38\u89c1\u7684\u6709\u4e09\u79cd\u5b50\u8282\u70b9:Console\u3001RollingFile\u3001File.<\/p>\n<ul data-lake-id=\"1aefb39590c78955c85200114d55a6f9\">\n<li data-lake-id=\"63def1a8c7e88d091d54993db5f259a2\">Console\u8282\u70b9\u7528\u6765\u5b9a\u4e49\u8f93\u51fa\u5230\u63a7\u5236\u53f0\u7684Appender.<\/li>\n<li data-lake-id=\"9c0618399229f13159af4e511c2c4c57\">name:\u6307\u5b9aAppender\u7684\u540d\u5b57.<\/li>\n<li data-lake-id=\"9139263b857db815c4e7a8b8cf393187\">target:SYSTEM_OUT \u6216 SYSTEM_ERR,\u4e00\u822c\u53ea\u8bbe\u7f6e\u9ed8\u8ba4:SYSTEM_OUT.<\/li>\n<li data-lake-id=\"6a63de96577df0edf046af8a2ebe2d4c\">Patt\u3000ernLayout:\u8f93\u51fa\u683c\u5f0f\uff0c\u4e0d\u8bbe\u7f6e\u9ed8\u8ba4\u4e3a:%m%n.<\/li>\n<li data-lake-id=\"c50829b92cf12d5fcb070107dcb3810b\">\u3000\u3000File\u8282\u70b9\u7528\u6765\u5b9a\u4e49\u8f93\u51fa\u5230\u6307\u5b9a\u4f4d\u7f6e\u7684\u6587\u4ef6\u7684Appender.<\/li>\n<li data-lake-id=\"3e39b82c3a12c232e5badb0db8b8c145\">\u3000\u3000\u3000\u3000name:\u6307\u5b9aAppender\u7684\u540d\u5b57.<\/li>\n<li data-lake-id=\"102db538f7c1d733e5b44bcc45c31bb6\">\u3000\u3000\u3000\u3000fileName:\u6307\u5b9a\u8f93\u51fa\u65e5\u5fd7\u7684\u76ee\u7684\u6587\u4ef6\u5e26\u5168\u8def\u5f84\u7684\u6587\u4ef6\u540d.<\/li>\n<li data-lake-id=\"e9fd6aa4c8a4a6a10a83ae05091a4260\">\u3000\u3000\u3000\u3000PatternLayout:\u8f93\u51fa\u683c\u5f0f\uff0c\u4e0d\u8bbe\u7f6e\u9ed8\u8ba4\u4e3a:%m%n.<\/li>\n<li data-lake-id=\"bb8315412e333909ae38ed061fc117b0\">\u3000\u3000RollingFile\u8282\u70b9\u7528\u6765\u5b9a\u4e49\u8d85\u8fc7\u6307\u5b9a\u5927\u5c0f\u81ea\u52a8\u5220\u9664\u65e7\u7684\u521b\u5efa\u65b0\u7684\u7684Appender.<\/li>\n<li data-lake-id=\"23419454b7c268c61bdc7eac6a80e1f8\">\u3000\u3000\u3000\u3000name:\u6307\u5b9aAppender\u7684\u540d\u5b57.<\/li>\n<li data-lake-id=\"16226041f6046e88d87d04bd3704a27a\">\u3000\u3000\u3000\u3000fileName:\u6307\u5b9a\u8f93\u51fa\u65e5\u5fd7\u7684\u76ee\u7684\u6587\u4ef6\u5e26\u5168\u8def\u5f84\u7684\u6587\u4ef6\u540d.<\/li>\n<li data-lake-id=\"8f92f3ab833edde3aa3c32a64d572440\">\u3000\u3000\u3000\u3000PatternLayout:\u8f93\u51fa\u683c\u5f0f\uff0c\u4e0d\u8bbe\u7f6e\u9ed8\u8ba4\u4e3a:%m%n.<\/li>\n<li data-lake-id=\"e70dcd74df856e9b5aadac036b9241a6\">\u3000\u3000\u3000\u3000filePattern:\u6307\u5b9a\u65b0\u5efa\u65e5\u5fd7\u6587\u4ef6\u7684\u540d\u79f0\u683c\u5f0f.<\/li>\n<li data-lake-id=\"7e4e031a0e6f2f06c328df6c2d91b31e\">\u3000\u3000\u3000\u3000Policies:\u6307\u5b9a\u6eda\u52a8\u65e5\u5fd7\u7684\u7b56\u7565\uff0c\u5c31\u662f\u4ec0\u4e48\u65f6\u5019\u8fdb\u884c\u65b0\u5efa\u65e5\u5fd7\u6587\u4ef6\u8f93\u51fa\u65e5\u5fd7.<\/li>\n<li data-lake-id=\"b36dfe881d7a6d595932d2298f2d87b1\">\u3000\u3000\u3000\u3000TimeBasedTriggeringPolicy:Policies\u5b50\u8282\u70b9\uff0c\u57fa\u4e8e\u65f6\u95f4\u7684\u6eda\u52a8\u7b56\u7565\uff0cinterval\u5c5e\u6027\u7528\u6765\u6307\u5b9a\u591a\u4e45\u6eda\u52a8\u4e00\u6b21\uff0c\u9ed8\u8ba4\u662f1 hour\u3002modulate=true\u7528\u6765\u8c03\u6574\u65f6\u95f4\uff1a\u6bd4\u5982\u73b0\u5728\u662f\u65e9\u4e0a3am\uff0cinterval\u662f4\uff0c\u90a3\u4e48\u7b2c\u4e00\u6b21\u6eda\u52a8\u662f\u57284am\uff0c\u63a5\u7740\u662f8am\uff0c12am...\u800c\u4e0d\u662f7am.<\/li>\n<li data-lake-id=\"828cf5a4b6a4b085204215089f029048\">\u3000\u3000\u3000\u3000SizeBasedTriggeringPolicy:Policies\u5b50\u8282\u70b9\uff0c\u57fa\u4e8e\u6307\u5b9a\u6587\u4ef6\u5927\u5c0f\u7684\u6eda\u52a8\u7b56\u7565\uff0csize\u5c5e\u6027\u7528\u6765\u5b9a\u4e49\u6bcf\u4e2a\u65e5\u5fd7\u6587\u4ef6\u7684\u5927\u5c0f.<\/li>\n<li data-lake-id=\"9243b5f27298102409fe017a217a7761\">\u3000\u3000\u3000\u3000DefaultRolloverStrategy:\u7528\u6765\u6307\u5b9a\u540c\u4e00\u4e2a\u6587\u4ef6\u5939\u4e0b\u6700\u591a\u6709\u51e0\u4e2a\u65e5\u5fd7\u6587\u4ef6\u65f6\u5f00\u59cb\u5220\u9664\u6700\u65e7\u7684\uff0c\u521b\u5efa\u65b0\u7684(\u901a\u8fc7max\u5c5e\u6027)\u3002<\/li>\n<li data-lake-id=\"5e2afaa1bd93d80335addfabaaaa1130\">ThresholdFilter\u5c5e\u6027\uff1aonMatch\u8868\u793a\u5339\u914d\u8bbe\u5b9a\u7684\u65e5\u5fd7\u7ea7\u522b\u540e\u662fDENY\u8fd8\u662fACCEPT\uff0conMismatch\u8868\u793a\u4e0d\u5339\u914d\u8bbe\u5b9a\u7684\u65e5\u5fd7\u7ea7\u522b\u662fDENY\u8fd8\u662fACCEPT\u8fd8\u662fNEUTRAL<\/li>\n<\/ul>\n<h4 id=\"slide-6\" data-lake-id=\"d84b76a3905ab3a45d5c63c8564915ff\">(3).Loggers\u8282\u70b9<\/h4>\n<p data-lake-id=\"53b2100b158d4e10b7dce84cdc1a7c00\">\u5e38\u89c1\u7684\u6709\u4e24\u79cd:Root\u548cLogger.<\/p>\n<ul data-lake-id=\"51dcf19f0164f1e973495caaf9041edc\">\n<li data-lake-id=\"844aa29dae11987ad6f4d533dfe93f24\">Root\u8282\u70b9\u7528\u6765\u6307\u5b9a\u9879\u76ee\u7684\u6839\u65e5\u5fd7\uff0c\u5982\u679c\u6ca1\u6709\u5355\u72ec\u6307\u5b9aLogger\uff0c\u90a3\u4e48\u5c31\u4f1a\u9ed8\u8ba4\u4f7f\u7528\u8be5Root\u65e5\u5fd7\u8f93\u51fa<\/li>\n<li data-lake-id=\"7b9b4ac651c6287084737d608e4ed657\">level:\u65e5\u5fd7\u8f93\u51fa\u7ea7\u522b\uff0c\u5171\u67098\u4e2a\u7ea7\u522b\uff0c\u6309\u7167\u4ece\u4f4e\u5230\u9ad8\u4e3a\uff1aAll &lt; Trace &lt; Debug &lt; Info &lt; Warn &lt; Error &lt; Fatal &lt; OFF.<\/li>\n<li data-lake-id=\"494213615e1b1fc1225fdc255914e75b\">Logger\u8282\u70b9\u7528\u6765\u5355\u72ec\u6307\u5b9a\u65e5\u5fd7\u7684\u5f62\u5f0f\uff0c\u6bd4\u5982\u8981\u4e3a\u6307\u5b9a\u5305\u4e0b\u7684class\u6307\u5b9a\u4e0d\u540c\u7684\u65e5\u5fd7\u7ea7\u522b\u7b49\u3002<\/li>\n<li data-lake-id=\"90b145f6b5e665f20363c2b310903c30\">\u3000\u3000\u3000\u3000level:\u65e5\u5fd7\u8f93\u51fa\u7ea7\u522b\uff0c\u5171\u67098\u4e2a\u7ea7\u522b\uff0c\u6309\u7167\u4ece\u4f4e\u5230\u9ad8\u4e3a\uff1aAll &lt; Trace &lt; Debug &lt; Info &lt; Warn &lt; Error &lt; Fatal &lt; OFF.<\/li>\n<li data-lake-id=\"ffdca1e8ebea109c88340e7ef2ad8136\">\u3000\u3000\u3000\u3000name:\u7528\u6765\u6307\u5b9a\u8be5Logger\u6240\u9002\u7528\u7684\u7c7b\u6216\u8005\u7c7b\u6240\u5728\u7684\u5305\u5168\u8def\u5f84,\u7ee7\u627f\u81eaRoot\u8282\u70b9.<\/li>\n<li data-lake-id=\"541af9039ad4a5eaf7ae6cef05e4df4d\">\u3000\u3000\u3000\u3000AppenderRef\uff1aLogger\u7684\u5b50\u8282\u70b9\uff0c\u7528\u6765\u6307\u5b9a\u8be5\u65e5\u5fd7\u8f93\u51fa\u5230\u54ea\u4e2aAppender,\u5982\u679c\u6ca1\u6709\u6307\u5b9a\uff0c\u5c31\u4f1a\u9ed8\u8ba4\u7ee7\u627f\u81eaRoot.\u5982\u679c\u6307\u5b9a\u4e86\uff0c\u90a3\u4e48\u4f1a\u5728\u6307\u5b9a\u7684\u8fd9\u4e2aAppender\u548cRoot\u7684Appender\u4e2d\u90fd\u4f1a\u8f93\u51fa\uff0c\u6b64\u65f6\u6211\u4eec\u53ef\u4ee5\u8bbe\u7f6eLogger\u7684additivity=\"false\"\u53ea\u5728\u81ea\u5b9a\u4e49\u7684Appender\u4e2d\u8fdb\u884c\u8f93\u51fa\u3002<\/li>\n<\/ul>\n<h4 id=\"slide-8\" data-lake-id=\"a3558ed7b9b5c05654822365364a1f16\">(4).\u5173\u4e8e\u65e5\u5fd7level.<\/h4>\n<ul data-lake-id=\"08a9d3bb588be336626bcbf0003fa41d\">\n<li data-lake-id=\"7ebbe82e7c69c31e79f684a318bf31fa\">\u3000\u3000\u5171\u67098\u4e2a\u7ea7\u522b\uff0c\u6309\u7167\u4ece\u4f4e\u5230\u9ad8\u4e3a\uff1aAll &lt; Trace &lt; Debug &lt; Info &lt; Warn &lt; Error &lt; Fatal &lt; OFF.<\/li>\n<li data-lake-id=\"069b6fadba982a687c17594284716e1e\">\u3000\u3000All:\u6700\u4f4e\u7b49\u7ea7\u7684\uff0c\u7528\u4e8e\u6253\u5f00\u6240\u6709\u65e5\u5fd7\u8bb0\u5f55.<\/li>\n<li data-lake-id=\"1ab4594666d1bb90dcb370f8d440c80c\">\u3000\u3000Trace:\u662f\u8ffd\u8e2a\uff0c\u5c31\u662f\u7a0b\u5e8f\u63a8\u8fdb\u4ee5\u4e0b\uff0c\u4f60\u5c31\u53ef\u4ee5\u5199\u4e2atrace\u8f93\u51fa\uff0c\u6240\u4ee5trace\u5e94\u8be5\u4f1a\u7279\u522b\u591a\uff0c\u4e0d\u8fc7\u6ca1\u5173\u7cfb\uff0c\u6211\u4eec\u53ef\u4ee5\u8bbe\u7f6e\u6700\u4f4e\u65e5\u5fd7\u7ea7\u522b\u4e0d\u8ba9\u4ed6\u8f93\u51fa.<\/li>\n<li data-lake-id=\"abbf87fdd0f32dba3ebb5f5729975155\">\u3000\u3000Debug:\u6307\u51fa\u7ec6\u7c92\u5ea6\u4fe1\u606f\u4e8b\u4ef6\u5bf9\u8c03\u8bd5\u5e94\u7528\u7a0b\u5e8f\u662f\u975e\u5e38\u6709\u5e2e\u52a9\u7684.<\/li>\n<li data-lake-id=\"35ed832be22ea589462c37f4c93a0d94\">\u3000\u3000Info:\u6d88\u606f\u5728\u7c97\u7c92\u5ea6\u7ea7\u522b\u4e0a\u7a81\u51fa\u5f3a\u8c03\u5e94\u7528\u7a0b\u5e8f\u7684\u8fd0\u884c\u8fc7\u7a0b.<\/li>\n<li data-lake-id=\"16068a7e41e269974dec572c35eba913\">\u3000\u3000Warn:\u8f93\u51fa\u8b66\u544a\u53cawarn\u4ee5\u4e0b\u7ea7\u522b\u7684\u65e5\u5fd7.<\/li>\n<li data-lake-id=\"78d3002b392aebd1b42331452358f7f6\">\u3000\u3000Error:\u8f93\u51fa\u9519\u8bef\u4fe1\u606f\u65e5\u5fd7.<\/li>\n<li data-lake-id=\"79c1e931e82cd1caf6b1c7f353be3d68\">\u3000\u3000Fatal:\u8f93\u51fa\u6bcf\u4e2a\u4e25\u91cd\u7684\u9519\u8bef\u4e8b\u4ef6\u5c06\u4f1a\u5bfc\u81f4\u5e94\u7528\u7a0b\u5e8f\u7684\u9000\u51fa\u7684\u65e5\u5fd7.<\/li>\n<li data-lake-id=\"0a065a4a697c13668a519dbcf58f5058\">\u3000\u3000OFF:\u6700\u9ad8\u7b49\u7ea7\u7684\uff0c\u7528\u4e8e\u5173\u95ed\u6240\u6709\u65e5\u5fd7\u8bb0\u5f55.<\/li>\n<li data-lake-id=\"a5befad2a3245792abe301b0c41f2261\">\u3000\u3000\u7a0b\u5e8f\u4f1a\u6253\u5370\u9ad8\u4e8e\u6216\u7b49\u4e8e\u6240\u8bbe\u7f6e\u7ea7\u522b\u7684\u65e5\u5fd7\uff0c\u8bbe\u7f6e\u7684\u65e5\u5fd7\u7b49\u7ea7\u8d8a\u9ad8\uff0c\u6253\u5370\u51fa\u6765\u7684\u65e5\u5fd7\u5c31\u8d8a\u5c11\u3002<\/li>\n<li data-lake-id=\"01265627fa53fe7ff8c81f65f5b7d106\">\u914d\u7f6e\u53c2\u6570\u89e3\u91ca<\/li>\n<li data-lake-id=\"2ef3a2428c24dd549c46aa6a0d1235d1\">%d{HH:mm:ss.SSS} \u8868\u793a\u8f93\u51fa\u5230\u6beb\u79d2\u7684\u65f6\u95f4<\/li>\n<li data-lake-id=\"d9178cd00c3104dc50f16951554dcc3d\" data-spm-anchor-id=\"a2c6h.12873639.article-detail.i9.3a864fc3NBP4hJ\">%t \u8f93\u51fa\u5f53\u524d\u7ebf\u7a0b\u540d\u79f0<\/li>\n<\/ul>\n<div id=\"6QeOu\" contenteditable=\"false\" data-card-type=\"block\" data-lake-card=\"codeblock\" data-card-value=\"data:%7B%22mode%22%3A%22plain%22%2C%22code%22%3A%22%25-5level%20%E8%BE%93%E5%87%BA%E6%97%A5%E5%BF%97%E7%BA%A7%E5%88%AB%EF%BC%8C-5%E8%A1%A8%E7%A4%BA%E5%B7%A6%E5%AF%B9%E9%BD%90%E5%B9%B6%E4%B8%94%E5%9B%BA%E5%AE%9A%E8%BE%93%E5%87%BA5%E4%B8%AA%E5%AD%97%E7%AC%A6%EF%BC%8C%E5%A6%82%E6%9E%9C%E4%B8%8D%E8%B6%B3%E5%9C%A8%E5%8F%B3%E8%BE%B9%E8%A1%A50%22%2C%22id%22%3A%226QeOu%22%7D\" data-language=\"plain\">\n<div class=\"lake-codeblock-content\">\n<div class=\"CodeMirror-sizer\">\n<pre class=\"cm-s-default\"><span class=\"lake-preview-line\"><span class=\"lake-preview-codeblock-content\">%-5level \u8f93\u51fa\u65e5\u5fd7\u7ea7\u522b\uff0c-5\u8868\u793a\u5de6\u5bf9\u9f50\u5e76\u4e14\u56fa\u5b9a\u8f93\u51fa5\u4e2a\u5b57\u7b26\uff0c\u5982\u679c\u4e0d\u8db3\u5728\u53f3\u8fb9\u88650<\/span><\/span><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<h2 id=\"slide-9\" data-lake-id=\"aeb56eb8682872510f13254b207cc5ab\" data-spm-anchor-id=\"a2c6h.12873639.article-detail.i12.3a864fc3NBP4hJ\">\u4e09\u3001Maven\u4f9d\u8d56<\/h2>\n<pre>&lt;dependencies&gt;  \r\n        &lt;groupId&gt;org.apache.logging.log4j&lt;\/groupId&gt;  \r\n        &lt;artifactId&gt;log4j-api&lt;\/artifactId&gt;  \r\n        &lt;version&gt;2.5&lt;\/version&gt;  \r\n    &lt;\/dependency&gt;  \r\n    &lt;dependency&gt;  \r\n        &lt;groupId&gt;org.apache.logging.log4j&lt;\/groupId&gt;  \r\n        &lt;artifactId&gt;log4j-core&lt;\/artifactId&gt;  \r\n        &lt;version&gt;2.5&lt;\/version&gt;  \r\n    &lt;\/dependency&gt; \r\n&lt;\/dependencies&gt;<\/pre>\n<p data-lake-id=\"df7ea849cc3464c872f297d636b20269\" data-spm-anchor-id=\"a2c6h.12873639.article-detail.i16.3a864fc3NBP4hJ\">\u4f7f\u7528SLF4J + LOG4J\u914d\u7f6e\u65f6\uff0c\u53ef\u4ee5\u7b80\u5316\u5230\u4ec5\u4e00\u4e2a\u4f9d\u8d56\uff1a<\/p>\n<pre class=\"pure-highlightjs\">&lt;dependency&gt;\r\n    &lt;groupId&gt;org.apache.logging.log4j&lt;\/groupId&gt;\r\n    &lt;artifactId&gt;log4j-slf4j-impl&lt;\/artifactId&gt;\r\n    &lt;version&gt;2.20.0&lt;\/version&gt;\r\n&lt;\/dependency&gt;<\/pre>\n<p data-lake-id=\"df7ea849cc3464c872f297d636b20269\" data-spm-anchor-id=\"a2c6h.12873639.article-detail.i16.3a864fc3NBP4hJ\">\u4f7f\u7528SLF4J + LOGBACK\u914d\u7f6e\u65f6\uff0c\u53ef\u4ee5\u7b80\u5316\u5230\u4ec5\u4e00\u4e2a\u4f9d\u8d56\uff1a<\/p>\n<pre>&lt;dependency&gt;\r\n    &lt;groupId&gt;ch.qos.logback&lt;\/groupId&gt;\r\n    &lt;artifactId&gt;logback-classic&lt;\/artifactId&gt;\r\n&lt;!--    &lt;version&gt;1.3.6&lt;\/version&gt; --&gt;\r\n    &lt;version&gt;1.2.11&lt;\/version&gt;\r\n&lt;\/dependency&gt;<\/pre>\n<p data-lake-id=\"df7ea849cc3464c872f297d636b20269\" data-spm-anchor-id=\"a2c6h.12873639.article-detail.i16.3a864fc3NBP4hJ\">\u6ce8\u610f\u9009\u75281.3.x\/1.2.x\u7248\u672c\uff0c\u4e0d\u8981\u4f7f\u75281.4.0, 1.4.x \u7248\u672c\u51fa\u73b0UnsupportedClassVersionError\u5f02\u5e38\u3002<br \/>\n\u76ee\u524d Logback \u53d1\u5e03\u4e86 1.3 &amp; 1.4 \u4e24\u4e2a\u7248\u672c\uff0clogback 1.3.x \u652f\u6301 Java EE \u7248\u672c\uff0c\u800c logback 1.4.x \u652f\u6301 Jakarta EE\uff0c\u4e24\u4e2a\u7248\u672c\u7684\u529f\u80fd\u76f8\u540c\u3002<\/p>\n<p data-lake-id=\"df7ea849cc3464c872f297d636b20269\" data-spm-anchor-id=\"a2c6h.12873639.article-detail.i16.3a864fc3NBP4hJ\">\u5728springboot\u4e2d\u4f7f\u7528log4j2\u65f6\uff0c\u9700\u8981\u6392\u9664springboot\u9ed8\u8ba4\u7684logback<\/p>\n<pre>&lt;dependency&gt;\r\n    &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\r\n    &lt;artifactId&gt;spring-boot-starter-web&lt;\/artifactId&gt;\r\n    &lt;exclusions&gt;\r\n        &lt;exclusion&gt;\r\n            &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\r\n            &lt;artifactId&gt;spring-boot-starter-logging&lt;\/artifactId&gt;\r\n        &lt;\/exclusion&gt;\r\n    &lt;\/exclusions&gt;\r\n&lt;\/dependency&gt;\r\n\r\n&lt;dependency&gt;\r\n    &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\r\n    &lt;artifactId&gt;spring-boot-starter-log4j2&lt;\/artifactId&gt;\r\n&lt;\/dependency&gt;\r\n<\/pre>\n<p>&nbsp;<\/p>\n<h2 id=\"slide-10\" data-lake-id=\"df7ea849cc3464c872f297d636b20269\" data-spm-anchor-id=\"a2c6h.12873639.article-detail.i16.3a864fc3NBP4hJ\">\u56db\u3001LOG4J\u57fa\u7840\u914d\u7f6e<\/h2>\n<pre class=\"pure-highlightjs\">&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\r\n &lt;Configuration&gt;\r\n   &lt;Appenders&gt;\r\n     &lt;Console name=\"Console\" target=\"SYSTEM_OUT\"&gt;\r\n       &lt;PatternLayout pattern=\"%d{HH:mm:ss.SSS} [%t] %level %logger{1.} - %msg%n\"\/&gt;\r\n     &lt;\/Console&gt;\r\n   &lt;\/Appenders&gt;\r\n   &lt;Loggers&gt;\r\n     &lt;Root level=\"error\"&gt;\r\n       &lt;AppenderRef ref=\"Console\"\/&gt;\r\n     &lt;\/Root&gt;\r\n   &lt;\/Loggers&gt;\r\n &lt;\/Configuration&gt;<\/pre>\n<h2 data-lake-id=\"fd0578aa58b11947ef49f4510528c73f\" data-spm-anchor-id=\"a2c6h.12873639.article-detail.i19.3a864fc3NBP4hJ\">\u4e94\u3001LOG4J\u8f83\u5168\u914d\u7f6e<\/h2>\n<pre>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\r\n&lt;!--\r\n\u65e5\u5fd7\u7ea7\u522b\u4ee5\u53ca\u4f18\u5148\u7ea7\u6392\u5e8f:\r\nOFF &gt; FATAL &gt; ERROR &gt; WARN &gt; INFO &gt; DEBUG &gt; TRACE &gt; ALL\r\n--&gt;\r\n&lt;configuration status=\"WARN\" monitorInterval=\"30\"&gt;\r\n    &lt;Properties&gt;\r\n        &lt;!--        &lt;Property name=\"LOG_ROOT\"&gt;${sys:user.home}\/logs&lt;\/Property&gt;--&gt;\r\n        &lt;Property name=\"LOG_ROOT\"&gt;.\/logs&lt;\/Property&gt;\r\n        &lt;Property name=\"LOG_PATTERN\"&gt;%d{yyyy-MM-dd HH:mm:ss,SSS} %level [%thread] %logger{1.} - %msg%n&lt;\/Property&gt;\r\n    &lt;\/Properties&gt;\r\n    &lt;!--\u5b9a\u4e49appender--&gt;\r\n    &lt;appenders&gt;\r\n        &lt;console name=\"Console\" target=\"SYSTEM_OUT\"&gt;\r\n            &lt;!--\u8f93\u51fa\u65e5\u5fd7\u7684\u683c\u5f0f--&gt;\r\n            &lt;PatternLayout pattern=\"${LOG_PATTERN}\"\/&gt;\r\n        &lt;\/console&gt;\r\n        &lt;RollingFile name=\"info\" fileName=\"${LOG_ROOT}\/info.log\"\r\n                     filePattern=\"${LOG_ROOT}\/$${date:yyyyMM}\/info-%d{yyyyMMdd}-%i.log\"&gt;\r\n            &lt;!--\u63a7\u5236\u53f0\u53ea\u8f93\u51falevel\u53ca\u4ee5\u4e0a\u7ea7\u522b\u7684\u4fe1\u606f\uff08onMatch\uff09\uff0c\u5176\u4ed6\u7684\u76f4\u63a5\u62d2\u7edd\uff08onMismatch\uff09--&gt;\r\n            &lt;ThresholdFilter level=\"info\" onMatch=\"ACCEPT\" onMismatch=\"DENY\"\/&gt;\r\n            &lt;PatternLayout pattern=\"${LOG_PATTERN}\"\/&gt;\r\n            &lt;Policies&gt;\r\n                &lt;SizeBasedTriggeringPolicy size=\"1024 MB\"\/&gt;\r\n            &lt;\/Policies&gt;\r\n        &lt;\/RollingFile&gt;\r\n        &lt;RollingFile name=\"warn\" fileName=\"${LOG_ROOT}\/warn.log\"\r\n                     filePattern=\"${LOG_ROOT}\/$${date:yyyyMM}\/warn-%d{yyyyMMdd}-%i.log\"&gt;\r\n            &lt;ThresholdFilter level=\"warn\" onMatch=\"ACCEPT\" onMismatch=\"DENY\"\/&gt;\r\n            &lt;PatternLayout pattern=\"${LOG_PATTERN}\"\/&gt;\r\n            &lt;Policies&gt;\r\n                &lt;SizeBasedTriggeringPolicy size=\"1024 MB\"\/&gt;\r\n            &lt;\/Policies&gt;\r\n            &lt;DefaultRolloverStrategy max=\"20\"\/&gt;\r\n        &lt;\/RollingFile&gt;\r\n        &lt;RollingFile name=\"error\" fileName=\"${LOG_ROOT}\/error.log\"\r\n                     filePattern=\"${LOG_ROOT}\/$${date:yyyyMM}\/error-%d{yyyyMMdd}-%i.log\"&gt;\r\n            &lt;ThresholdFilter level=\"error\" onMatch=\"ACCEPT\" onMismatch=\"DENY\"\/&gt;\r\n            &lt;PatternLayout pattern=\"${LOG_PATTERN}\"\/&gt;\r\n            &lt;Policies&gt;\r\n                &lt;SizeBasedTriggeringPolicy size=\"1024 MB\"\/&gt;\r\n            &lt;\/Policies&gt;\r\n        &lt;\/RollingFile&gt;\r\n    &lt;\/appenders&gt;\r\n    &lt;loggers&gt;\r\n        &lt;!-- OFF &gt; FATAL &gt; ERROR &gt; WARN &gt; INFO &gt; DEBUG &gt; TRACE &gt; ALL --&gt;\r\n        &lt;!--\u8fc7\u6ee4 spring mybatis \u7684 DEBUG \u4fe1\u606f--&gt;\r\n        &lt;logger name=\"org.springframework\" level=\"INFO\"&gt;&lt;\/logger&gt;\r\n        &lt;logger name=\"org.mybatis\" level=\"INFO\"&gt;&lt;\/logger&gt;\r\n        &lt;root level=\"INFO\"&gt;\r\n            &lt;appender-ref ref=\"Console\"\/&gt;\r\n            &lt;appender-ref ref=\"info\"\/&gt;\r\n            &lt;appender-ref ref=\"warn\"\/&gt;\r\n            &lt;appender-ref ref=\"error\"\/&gt;\r\n        &lt;\/root&gt;\r\n    &lt;\/loggers&gt;\r\n&lt;\/configuration&gt;<\/pre>\n<p>&nbsp;<\/p>\n<h2 data-lake-id=\"fd0578aa58b11947ef49f4510528c73f\" data-spm-anchor-id=\"a2c6h.12873639.article-detail.i19.3a864fc3NBP4hJ\">\u516d\u3001LOGBACK\u914d\u7f6e<\/h2>\n<p>logback.xml or logback-spring.xml<\/p>\n<pre>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\r\n&lt;configuration&gt;\r\n    &lt;!-- \u65e5\u5fd7\u5b58\u653e\u8def\u5f84 --&gt;\r\n    &lt;property name=\"log.path\" value=\".\/logs\"\/&gt;\r\n    &lt;!-- \u65e5\u5fd7\u5929\u6570 --&gt;\r\n    &lt;property name=\"log.history\" value=\"60\"\/&gt;\r\n    &lt;!-- \u65e5\u5fd7\u8f6e\u8f6c\u5927\u5c0f --&gt;\r\n    &lt;property name=\"log.size\" value=\"1024MB\"\/&gt;\r\n    &lt;!-- \u65e5\u5fd7\u8f93\u51fa\u683c\u5f0f --&gt;\r\n    &lt;!--    &lt;property name=\"log.pattern\" value=\"%d{yyyy-MM-dd HH:mm:ss.SSS} -%5p ${PID:-} [%15.15t] %-40.40logger{39} : %m%n\" \/&gt;--&gt;\r\n    &lt;property name=\"log.pattern\" value=\"%d{yyyy-MM-dd HH:mm:ss.SSS} -%5p [%15.15t] %-40.40logger{30} : %m%n\"\/&gt;\r\n\r\n    &lt;!-- \u63a7\u5236\u53f0\u8f93\u51fa --&gt;\r\n    &lt;appender name=\"console\" class=\"ch.qos.logback.core.ConsoleAppender\"&gt;\r\n        &lt;encoder&gt;\r\n            &lt;pattern&gt;${log.pattern}&lt;\/pattern&gt;\r\n        &lt;\/encoder&gt;\r\n    &lt;\/appender&gt;\r\n\r\n    &lt;!-- \u7cfb\u7edf\u65e5\u5fd7\u8f93\u51fa --&gt;\r\n    &lt;!-- ch.qos.logback.classic.AsyncAppender --&gt;\r\n    &lt;appender name=\"info\" class=\"ch.qos.logback.core.rolling.RollingFileAppender\"&gt;\r\n        &lt;file&gt;${log.path}\/info.log&lt;\/file&gt;\r\n        &lt;encoder&gt;\r\n            &lt;pattern&gt;${log.pattern}&lt;\/pattern&gt;\r\n        &lt;\/encoder&gt;\r\n        &lt;rollingPolicy class=\"ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy\"&gt;\r\n            &lt;fileNamePattern&gt;${log.path}\/info-%d{yyyyMMdd}.%i.log&lt;\/fileNamePattern&gt;\r\n            &lt;maxHistory&gt;${log.history}&lt;\/maxHistory&gt;\r\n            &lt;maxFileSize&gt;${log.size}&lt;\/maxFileSize&gt;\r\n        &lt;\/rollingPolicy&gt;\r\n        &lt;filter class=\"ch.qos.logback.classic.filter.LevelFilter\"&gt;\r\n            &lt;level&gt;INFO&lt;\/level&gt;\r\n            &lt;onMatch&gt;ACCEPT&lt;\/onMatch&gt;\r\n            &lt;onMismatch&gt;DENY&lt;\/onMismatch&gt;\r\n        &lt;\/filter&gt;\r\n    &lt;\/appender&gt;\r\n\r\n    &lt;!-- \u7528\u6237\u8bbf\u95ee\u65e5\u5fd7\u8f93\u51fa  --&gt;\r\n    &lt;appender name=\"warn\" class=\"ch.qos.logback.core.rolling.RollingFileAppender\"&gt;\r\n        &lt;file&gt;${log.path}\/warn.log&lt;\/file&gt;\r\n        &lt;encoder&gt;\r\n            &lt;pattern&gt;${log.pattern}&lt;\/pattern&gt;\r\n        &lt;\/encoder&gt;\r\n        &lt;rollingPolicy class=\"ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy\"&gt;\r\n            &lt;fileNamePattern&gt;${log.path}\/warn-%d{yyyyMMdd}.%i.log&lt;\/fileNamePattern&gt;\r\n            &lt;maxHistory&gt;${log.history}&lt;\/maxHistory&gt;\r\n            &lt;maxFileSize&gt;${log.size}&lt;\/maxFileSize&gt;\r\n        &lt;\/rollingPolicy&gt;\r\n        &lt;filter class=\"ch.qos.logback.classic.filter.LevelFilter\"&gt;\r\n            &lt;level&gt;WARN&lt;\/level&gt;\r\n            &lt;onMatch&gt;ACCEPT&lt;\/onMatch&gt;\r\n            &lt;onMismatch&gt;DENY&lt;\/onMismatch&gt;\r\n        &lt;\/filter&gt;\r\n    &lt;\/appender&gt;\r\n\r\n    &lt;appender name=\"error\" class=\"ch.qos.logback.core.rolling.RollingFileAppender\"&gt;\r\n        &lt;file&gt;${log.path}\/error.log&lt;\/file&gt;\r\n        &lt;encoder&gt;\r\n            &lt;pattern&gt;${log.pattern}&lt;\/pattern&gt;\r\n        &lt;\/encoder&gt;\r\n        &lt;rollingPolicy class=\"ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy\"&gt;\r\n            &lt;fileNamePattern&gt;${log.path}\/error-%d{yyyyMMdd}.%i.log&lt;\/fileNamePattern&gt;\r\n            &lt;maxHistory&gt;${log.history}&lt;\/maxHistory&gt;\r\n            &lt;maxFileSize&gt;${log.size}&lt;\/maxFileSize&gt;\r\n        &lt;\/rollingPolicy&gt;\r\n        &lt;filter class=\"ch.qos.logback.classic.filter.LevelFilter\"&gt;\r\n            &lt;level&gt;ERROR&lt;\/level&gt;\r\n            &lt;onMatch&gt;ACCEPT&lt;\/onMatch&gt;\r\n            &lt;onMismatch&gt;DENY&lt;\/onMismatch&gt;\r\n        &lt;\/filter&gt;\r\n    &lt;\/appender&gt;\r\n\r\n    &lt;!-- \u65e5\u5fd7\u7ea7\u522b  --&gt;\r\n    &lt;logger name=\"org.springframework\" level=\"warn\"\/&gt;\r\n    &lt;logger name=\"org.mybatis\" level=\"INFO\"\/&gt;\r\n\r\n    &lt;!-- OFF &gt; FATAL &gt; ERROR &gt; WARN &gt; INFO &gt; DEBUG &gt; TRACE &gt; ALL --&gt;\r\n    &lt;springProfile name=\"default\"&gt;\r\n        &lt;root level=\"INFO\"&gt;\r\n            &lt;appender-ref ref=\"console\"\/&gt;\r\n            &lt;appender-ref ref=\"info\"\/&gt;\r\n            &lt;appender-ref ref=\"warn\"\/&gt;\r\n            &lt;appender-ref ref=\"error\"\/&gt;\r\n        &lt;\/root&gt;\r\n    &lt;\/springProfile&gt;\r\n\r\n    &lt;springProfile name=\"beta,test\"&gt;\r\n        &lt;root level=\"INFO\"&gt;\r\n            &lt;appender-ref ref=\"console\"\/&gt;\r\n            &lt;appender-ref ref=\"info\"\/&gt;\r\n            &lt;appender-ref ref=\"warn\"\/&gt;\r\n            &lt;appender-ref ref=\"error\"\/&gt;\r\n        &lt;\/root&gt;\r\n    &lt;\/springProfile&gt;\r\n\r\n    &lt;springProfile name=\"prod\"&gt;\r\n        &lt;root level=\"WARN\"&gt;\r\n            &lt;appender-ref ref=\"console\"\/&gt;\r\n            &lt;appender-ref ref=\"info\"\/&gt;\r\n            &lt;appender-ref ref=\"warn\"\/&gt;\r\n            &lt;appender-ref ref=\"error\"\/&gt;\r\n        &lt;\/root&gt;\r\n    &lt;\/springProfile&gt;\r\n\r\n&lt;\/configuration&gt;<\/pre>\n<p>&nbsp;<\/p>\n<p>\u5907\u6ce8\uff1a\u5185\u5bb9\u6458\u81ea\u7f51\u7edc\uff0c\u6709\u95ee\u9898\u8054\u7cfb\u6211\u4eec\u5220\u9664\u6216\u4fee\u6539\u3002<\/p>\n<p>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e00\u3001Log4j2\u4ecb\u7ecd \u2003\u2003Log4j 2.x\u7248\u672c\u4e0d\u518d\u652f\u6301\u50cf1.x\u4e2d\u7684.prope &hellip; <a href=\"https:\/\/www.xiaobo.li\/notes\/archives\/2576\">\u7ee7\u7eed\u9605\u8bfb <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[297],"tags":[],"class_list":["post-2576","post","type-post","status-publish","format-standard","hentry","category-java"],"_links":{"self":[{"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/posts\/2576","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/comments?post=2576"}],"version-history":[{"count":17,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/posts\/2576\/revisions"}],"predecessor-version":[{"id":2599,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/posts\/2576\/revisions\/2599"}],"wp:attachment":[{"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/media?parent=2576"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/categories?post=2576"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/tags?post=2576"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}