Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Java³£ÓõÄÈÕÖ¾¿ò¼Ü¶Ô±ÈºÍÉîÈë·ÖÎö
 
  3094  次浏览      27
 2019-5-14  
 
±à¼­ÍƼö:

±¾ÎÄÀ´×ÔÓÚcsdn,Ö÷Òª½²½âÁ˳£ÓõÄÈÕÖ¾¿ò¼Ü£¬Í³Ò»ÈÕ־ģ¿é£¬¸÷¸öÈÕÖ¾µÄ¹¦ÄÜÑÝʾµÈµÈ¡£

ǰÑÔ

×÷ΪһÃû×ÊÉîµÄ¿ª·¢ÈËÔ±£¬¶ÔÓÚÈÕÖ¾¼Ç¼¿ò¼ÜÒ»¶¨²»»áºÜİÉú¡£¶øÇÒ¼¸ºõÔÚËùÓÐÓ¦ÓÃÀïÃæ£¬Ò»¶¨»áÓõ½¸÷ÖÖ¸÷ÑùµÄ

ÈÕÖ¾¿ò¼ÜÓÃÀ´¼Ç¼³ÌÐòµÄÔËÐÐÐÅÏ¢¡£¶ø¶ÔÓÚÒ»¸ö³ÉÊìµÄjavaÓ¦Óã¬Õâ¸öÊDZز»¿ÉÉٵġ£ÔÚ¿ª·¢ºÍµ÷ÊԽ׶Σ¬ÈÕÖ¾¿ÉÒÔ°ïÖúÎÒÃǸü¿ìµÄ¶¨Î»ÎÊÌ⣻¶øÔÚÓ¦ÓõÄÔËά¹ý³ÌÖУ¬ÈÕ־ϵͳÓÖ¿ÉÒÔ°ïÖúÎÒÃǼǼ´ó²¿·ÖµÄÒì³£ÐÅÏ¢£¬Í¨³£ºÜ¶àÆóÒµ»áͨ¹ýÊÕ¼¯ÈÕÖ¾ÐÅÏ¢À´¶ÔϵͳµÄÔËÐÐ״̬½øÐÐʵʱ¼à¿ØÔ¤¾¯¡£ÄÇô£¬Äã¶ÔÈÕÖ¾¿ò¼Üµ½µ×ÓжàÁ˽âÄØ£¿

³£ÓõÄÈÕÖ¾¿ò¼Ü

Log4j

Log4jÊÇapacheÏÂÒ»¸ö¹¦Äܷdz£·á¸»µÄjavaÈÕÖ¾¿âʵÏÖ£¬Log4jÓ¦¸ÃÊdzöÏֱȽÏÔç¶øÇÒ×îÊÜ»¶Ó­µÄjavaÈÕÖ¾×é

¼þ£¬ËüÊÇ»ùÓÚjavaµÄ¿ªÔ´µÄÈÕÖ¾×é¼þ¡£Log4jµÄ¹¦Äܷdz£Ç¿´ó£¬Í¨¹ýLog4j¿ÉÒÔ°ÑÈÕÖ¾Êä³öµ½¿ØÖÆÌ¨¡¢Îļþ¡¢Óû§½çÃæ¡£Ò²¿ÉÒÔÊä³öµ½²Ù×÷ϵͳµÄʼþ¼Ç¼Æ÷ºÍһЩϵͳ³£×¤½ø³Ì¡£ÖµµÃÒ»ÌáµÄÊÇ£ºLog4j¿ÉÒÔÔÊÐíÄã·Ç³£±ã½ÝµØ×Ô¶¨ÒåÈÕÖ¾¸ñʽºÍÈÕÖ¾µÈ¼¶£¬¿ÉÒÔ°ïÖú¿ª·¢ÈËԱȫ·½Î»µÄÕÆ¿Ø×Ô¼ºµÄÈÕÖ¾ÐÅÏ¢

Log4j2

Log4j2ÊÇLog4j1µÄÉý¼¶°æ±¾¡£Log4j2»ù±¾ÉϰÑLog4j°æ±¾µÄºËÐÄÈ«²¿Öع¹µôÁË£¬¶øÇÒ»ùÓÚLog4j×öÁ˺ܶàÓÅ»¯ºÍ¸Ä±ä

Logback

LogbackÊÇÓÉLog4j´´Ê¼ÈËÉè¼ÆµÄÁíÒ»¸ö¿ªÔ´ÈÕÖ¾×é¼þ£¬Ò²ÊÇ×÷ΪLog4jµÄÌæ´úÕß³öÏֵġ£¶øÇÒ¹Ù·½Êǽ¨ÒéºÍ

Slf4jÒ»ÆðʹÓã¬ÄãÃÇÒ»¶¨²»ÖªµÀLogback¡¢slf4j¡¢Log4j¶¼Êdzö×Ôͬһ¸öÈ˰ɡ£ LogbackÊÇÔÚLog4jµÄ»ù´¡ÉÏ×öµÄ¸Ä½ø°æ±¾£¬¶øSlf4jÓÖÊÇͬһ¸öÈËÉè¼ÆµÄ£¬ËùÒÔĬÈϾͶÔSlf4jÎÞ·ì½áºÏ¡£

JDK-Logging

Jdk1.4°æ±¾ÒÔºó¿ªÊ¼ÌṩµÄÒ»¸ö×Ô´øµÄÈÕÖ¾¿âʵÏÖ

ͳһÈÕ־ģ¿é

ĿǰÊÐÃæÉÏÓÐÁ½¸öÓõñȽϹ㷺µÄͳһÈÕÖ¾¹æ·¶½Ó¿Ú£¬·Ö±ðÊÇ

SLF4j

SLF4j£¨Simple Logging Facade For Java£©ÊÇ»ùÓÚAPIµÄjavaÈÕÖ¾¿ò¼Ü£¬SLF4jÌṩÁËÒ»¸ö¼òµ¥Í³Ò»µÄÈÕ

Ö¾¼Ç¼½Ó¿Ú£¬¿ª·¢ÕßÔÚÅäÖúͲ¿Êðʱ£¬Ö»ÐèҪʵÏÖÕâ¸ö½Ó¿Ú¾Í¿ÉÒÔʵÏÖÈÕÖ¾¹¦ÄÜ¡£¿ÉÒÔ˵£¬Ëü²¢²»ÊÇÒ»¸ö¾ßÌåµÄÈÕÖ¾½â¾ö·½°¸£¬ËüÖ»ÊÇ·þÎñÓÚ¸÷ÖÖ¸÷ÑùµÄÈÕ־ϵͳ£¬ÔÊÐí×îÖÕÓû§ÔÚ²¿ÊðÓ¦ÓÃÉÏʹÓÃ×Ô¼º³£ÓõÄÈÕ־ϵͳ

Commons-Logging

Common-logging ΪÖÚ¶à¾ßÌåµÄÈÕ־ʵÏÖ¿âÌṩÁËÒ»¸öͳһµÄ½Ó¿Ú£¬ºÍSLF4jµÄ×÷ÓÃÀàËÆ£¬ËüÔÊÐíÔÚÔËÐÐʱ°ó¶¨ÈÎÒâµÄÈÕÖ¾¿â£»

ÕâÀïÆäʵÓиöС¹ÊÊ£¬µ±Äêapache˵·þLog4jÒÔ¼°ÆäËûµÄÈÕÖ¾¿ò¼Ü°´ÕÕCommons-LoggingµÄ±ê×¼À´±àд£¬µ«ÊÇÓÉÓÚCommons-LoggingµÄÀà¼ÓÔØÓеãÎÊÌ⣬ʵÏÖÆðÀ´²»ÓѺá£Òò´ËLog4jµÄ×÷Õ߾ʹ´×÷ÁËSlf4j£¬Ò²Òò´ËÓëCommons-LoggingÁ½·ÝÌìÏÂ

ͼ˵¼¸¸öÈÕÖ¾¿ò¼ÜµÄ¹ØÏµ

¸÷¸öÈÕÖ¾µÄ¹¦ÄÜÑÝʾ

¸÷¸öÈÕ־ģ¿éµÄ¹¦ÄÜÑÝʾºÍÅäÖÃ˵Ã÷£¬ÎҾͲ»×ö¶à˵ÁË£¬ÍøÉÏËÑË÷ÏÂÒ»×¥Ò»´ó°Ñ£¬¶¼½²µÃºÜÏêϸ¡£

slf4jºÍ¸÷¸öÈÕÖ¾¿ò¼Ü¼¯³ÉµÄÔ­Àí

ÕâÀïÒªÖØµã˵Ã÷Ò»¸ö¶«Î÷£¬¾ÍÊÇslf4jͨ¹ýÒ»¸ö·Ç³£ÓÐȤ¶øÇÒºÜÅ£µÄÉè¼Æ£¬°Ñ¸÷¸öÈÕÖ¾¿ò¼ÜÈ¥¼¯³É½øÀ´¡£

Èç¹ûÄãÃÇÈ¥¿´slf4jµÄÔ´Â룬ÔÚLoggerFactory.javaÀïÃæÓÐÒ»¸öÕâÑùµÄ¾²Ì¬È«¾Ö±äÁ¿

private static String STATIC_LOGGER_BINDER_PATH = "org/slf4j/impl/StaticLoggerBinder.class";

»¹ÓÐÒ»¶ÎºËÐÄ´úÂë

static Set<URL> findPossibleStaticLoggerBinderPathSet() {
LinkedHashSet staticLoggerBinderPathSet = new LinkedHashSet();
try {
ClassLoader ioe = LoggerFactory.class.getClassLoader();
Enumeration paths;
if(ioe == null) {
paths = ClassLoader.getSystemResources (STATIC_LOGGER_BINDER_PATH);
} else {
paths = ioe.getResources (STATIC_LOGGER_BINDER_PATH);
}
while(paths.hasMoreElements()) {
URL path = (URL)paths.nextElement();
staticLoggerBinderPathSet.add(path);
}
} catch (IOException var4) {
Util.report ("Error getting resources from path", var4);
}
return staticLoggerBinderPathSet;
}

 

´ó¼Ò¶ÔClassLoader»úÖÆÁ˽âµÄͬѧ£¬Õâ¶Î´úÂë¿´ÆðÀ´¾Í·Ç³£ÈÝÒ×¶®ÁË£¬Í¨¹ýClassLoaderÈ¥¼ÓÔØclasspathÏÂËùÓдæÔÚStaticLoggerBinder.classµÄÎļþ¡£ÕÒµ½Õâ¸öÎļþÒÔºó¼Óµ½Ò»¸ö¼¯ºÏÀïÃæ¡£Í¨¹ý¼ÓÔØµ½¶ÔÓ¦jarÖеÄStaticLoggerBinder¡£À´»ñȡʵÀý¡£

public static ILoggerFactory getILoggerFactory() {
if (INITIALIZATION_STATE == UNINITIALIZED) {
synchronized (LoggerFactory.class) {
if (INITIALIZATION_STATE == UNINITIALIZED) {
INITIALIZATION_STATE = ONGOING_INITIALIZATION;
performInitialization();
}
}
}
switch (INITIALIZATION_STATE) {
case SUCCESSFUL_INITIALIZATION:
return StaticLoggerBinder.getSingleton().getLoggerFactory();
case NOP_FALLBACK_INITIALIZATION:
return NOP_FALLBACK_FACTORY;
case FAILED_INITIALIZATION:
throw new IllegalStateException (UNSUCCESSFUL_INIT_MSG);
case ONGOING_INITIALIZATION:
// support re-entrant behavior.
// See also http://jira.qos.ch/browse/SLF4J-97
return SUBST_FACTORY;
}
throw new IllegalStateException ("Unreachable code");
}

ÔÚÕâ¶Î´úÂëÀïÃæ£¬¿ÉÒÔ¿´µ½ÓÐÒ»¸öStaticLoggerBinder.getSingleton().getLoggerFactory()

Õâ¸ö¾ÍÊÇÔÚµÚÈý·½µÄ¼¯³É°üÖзµ»ØµÄʵÀý¡£Õâ¸ö¾ÍÊÇslf4jÀïÃæ±È½ÏºËÐĵÄÒ»¿é

×ܽá

ÒÔÉϼòµ¥µÄ°ÑjavaÖг£ÓõÄÈÕÖ¾¿ò¼Ü×öÁËÊáÀí

 

   
3094 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

Java΢·þÎñÐÂÉú´úÖ®Nacos
ÉîÈëÀí½âJavaÖеÄÈÝÆ÷
JavaÈÝÆ÷Ïê½â
Java´úÂëÖÊÁ¿¼ì²é¹¤¾ß¼°Ê¹Óð¸Àý
Ïà¹ØÎĵµ

JavaÐÔÄÜÓÅ»¯
Spring¿ò¼Ü
SSM¿ò¼Ü¼òµ¥¼òÉÜ
´ÓÁ㿪ʼѧjava±à³Ì¾­µä
Ïà¹Ø¿Î³Ì

¸ßÐÔÄÜJava±à³ÌÓëϵͳÐÔÄÜÓÅ»¯
JavaEE¼Ü¹¹¡¢ Éè¼ÆÄ£Ê½¼°ÐÔÄܵ÷ÓÅ
Java±à³Ì»ù´¡µ½Ó¦Óÿª·¢
JAVAÐéÄâ»úÔ­ÀíÆÊÎö