此文主要讲述在初学 Java 时,常用的 Log4J 日志记录配置文件详解及实例源代码整理。希望能对初学 Java 编程的亲们有所帮助。若有不足之处,敬请大神指正,不胜感激!源代码测试通过日期为:2015-1-30 13:54:02,请知悉。

所需的 jar 包下载链接为:http://yunpan.cn/cKE56sxqtQCfP  访问密码 63d8

有关 Log4J 日志文件中日志级别及文件配置的详细情况,在 Log4J 的配置文件(xml、properties)中有详细的介绍,敬请参阅!

  • xml 配置文件
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
  3. <!-- ========================== 日志输出等级 ================================ -->
  4. <!-- OFF:最高等级, 用于关闭所有日志记录 -->
  5. <!-- FATAL:输出严重级别的消息 -->
  6. <!-- ERROR:输出错误级别的消息 -->
  7. <!-- WARN:输出警告级别的消息 -->
  8. <!-- INFO:输出信息级别的消息 -->
  9. <!-- DEBUG:输出调试级别的消息 -->
  10. <!-- TRACE:输出跟踪级别的消息 -->
  11. <!-- ALL:最低等级, 用于打开所有日志记录 -->
  12. <!-- 只有当输出日期的级别大于或等于为日志配置器配置的日志级别时, 这个方法才会执行. 指定日志器的日志级别, 不同的日志器会实现不同的日志输出方案 -->
  13.  
  14. <!-- ========================== 自定义输出格式说明 ================================ -->
  15. <!-- %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL -->
  16. <!-- %r 输出自应用启动到输出该log信息耗费的毫秒数 -->
  17. <!-- %c 输出所属的类目,通常就是所在类的全名 -->
  18. <!-- %t 输出产生该日志事件的线程名 -->
  19. <!-- %n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n” -->
  20. <!-- %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921 -->
  21. <!-- %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10) -->
  22. <!-- ========================================================================== -->
  23.  
  24. <!-- ========================== 输出方式说明================================ -->
  25. <!-- Log4j提供的appender有以下几种: -->
  26. <!-- org.apache.log4j.ConsoleAppender(控制台), -->
  27. <!-- org.apache.log4j.FileAppender(文件), -->
  28. <!-- org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件), -->
  29. <!-- org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件), -->
  30. <!-- org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方) -->
  31. <!-- ========================================================================== -->
  32.  
  33. <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
  34. <!-- 系统运行日志 {TRACE, ERROR} -->
  35. <appender name="InfoConsole" class="org.apache.log4j.ConsoleAppender">
  36. <!-- 不进行缓存, 直接输出 -->
  37. <param name="ImmediateFlush" value="true"></param>
  38. <!-- 指定输出控制台, 默认情况下是 System.out -->
  39. <param name="Target" value="System.err"></param>
  40. <!-- 设置输出文件项目和格式 -->
  41. <layout class="org.apache.log4j.PatternLayout">
  42. <param name="ConversionPattern" value="{InfoConsole} - %d - %-5p - [%F] [%t] [%c:%L] - %m%n" />
  43. </layout>
  44.  
  45. <!--限制输出级别 -->
  46. <filter class="org.apache.log4j.varia.LevelRangeFilter">
  47. <param name="LevelMax" value="ERROR" ></param>
  48. <param name="LevelMin" value="TRACE" ></param>
  49. </filter>
  50. </appender>
  51.  
  52. <!-- 系统运行的错误日志 {ERROR, FATAL}, 单一 -->
  53. <appender name="SysRunningErrorLog" class="org.apache.log4j.FileAppender">
  54. <!-- 设置File参数:日志输出文件名 -->
  55. <param name="File" value="logs/SysRunningErrorLog.log" ></param>
  56. <!-- 设置在重新启动服务时,在原有日志的基础添加新日志 -->
  57. <param name="Append" value="true" ></param>
  58.  
  59. <layout class="org.apache.log4j.PatternLayout">
  60. <param name="ConversionPattern" value="{SysRunningErrorLog} - %d - %-5p - [%F] [%t] [%c:%L] - %m%n" ></param>
  61. </layout>
  62.  
  63. <filter class="org.apache.log4j.varia.LevelRangeFilter">
  64. <param name="LevelMax" value="FATAL" ></param>
  65. <param name="LevelMin" value="ERROR" ></param>
  66. </filter>
  67. </appender>
  68.  
  69. <!-- 系统运行的调试日志 {DEBUG}, 大小-->
  70. <appender name="SysRunningDebugLog" class="org.apache.log4j.RollingFileAppender">
  71. <param name="File" value="logs/SysRunningDebugLog.log" ></param>
  72. <param name="Append" value="true" ></param>
  73. <!-- 设置文件大小 -->
  74. <param name="MaxFileSize" value="5MB" ></param>
  75. <!-- 设置文件备份 -->
  76. <param name="MaxBackupIndex" value="21" ></param>
  77. <layout class="org.apache.log4j.PatternLayout">
  78. <param name="ConversionPattern" value="{SysRunningDebugLog} - %d - %-5p - [%F] [%t] [%c:%L] - %m%n" ></param>
  79. </layout>
  80.  
  81. <filter class="org.apache.log4j.varia.LevelRangeFilter">
  82. <param name="LevelMax" value="DEBUG" ></param>
  83. <param name="LevelMin" value="DEBUG" ></param>
  84. </filter>
  85. </appender>
  86.  
  87. <!-- 系统运行的用户日志 {INFO, WARN}, 每天, LOG -->
  88. <appender name="SysRunCustUseLog" class="org.apache.log4j.DailyRollingFileAppender">
  89. <param name="File" value="logs/SysRunCustUseLog.log" ></param>
  90. <param name="Append" value="true" ></param>
  91. <param name="ImmediateFlush" value="true" ></param>
  92. <param name="DatePattern" value="'-'yyyyMMdd'.log'" ></param>
  93. <layout class="org.apache.log4j.PatternLayout">
  94. <param name="ConversionPattern" value="{SysRunCustUseLog} - %d - %-5p - [%F] [%t] [%c:%L] - %m%n" ></param>
  95. </layout>
  96.  
  97. <filter class="org.apache.log4j.varia.LevelRangeFilter">
  98. <param name="LevelMax" value="WARN" ></param>
  99. <param name="LevelMin" value="INFO" ></param>
  100. </filter>
  101. </appender>
  102.  
  103. <!-- 系统运行的用户日志 {INFO, WARN}, 每天, HTM -->
  104. <appender name="SysRunCustUseLogHtm" class="org.apache.log4j.DailyRollingFileAppender">
  105. <param name="File" value="logs/SysRunCustUseLogHtm.html" ></param>
  106. <param name="Append" value="true" ></param>
  107. <param name="ImmediateFlush" value="true" ></param>
  108. <param name="DatePattern" value="'-'yyyyMMdd'.html'" ></param>
  109. <layout class="org.apache.log4j.HTMLLayout">
  110. <param name="Title" value="Logs info for the current running system from Log4J Message"></param>
  111. </layout>
  112.  
  113. <filter class="org.apache.log4j.varia.LevelRangeFilter">
  114. <param name="LevelMax" value="WARN" ></param>
  115. <param name="LevelMin" value="INFO" ></param>
  116. </filter>
  117. </appender>
  118.  
  119. <!-- 系统运行的用户日志 {INFO, WARN} 每天, XML -->
  120. <appender name="SysRunCustUseLogXml" class="org.apache.log4j.DailyRollingFileAppender">
  121. <param name="File" value="logs/SysRunCustUseLogXml.xml"></param>
  122. <param name="DatePattern" value="'-'yyyyMMdd'.xml'"></param>
  123. <layout class="org.apache.log4j.xml.XMLLayout"></layout>
  124.  
  125. <filter class="org.apache.log4j.varia.LevelRangeFilter">
  126. <param name="LevelMax" value="WARN"></param>
  127. <param name="LevelMin" value="INFO"></param>
  128. </filter>
  129. </appender>
  130.  
  131. <!-- 系统运行的所有日志 {TRACE, FATAL} -->
  132. <!-- MySQL, sqlserver JDBC 连接实例
  133. <param name="URL" value="jdbc:mysql://127.0.0.1:3306/test" ></param>
  134. <param name="driver" value="com.mysql.jdbc.Driver" ></param>
  135. <param name="URL" value="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=Aaron" ></param>
  136. <param name="driver" value="com.microsoft.jdbc.sqlserver.SQLServerDriver" ></param>
  137. -->
  138. <!--
  139. <appender name="SysRunInfoDB" class="org.apache.log4j.jdbc.JDBCAppender">
  140. <param name="URL" value="jdbc:oracle:thin:@127.0.0.1:1521:aaron" ></param>
  141. <param name="driver" value="oracle.jdbc.driver.OracleDriver" ></param>
  142. <param name="user" value="hr" ></param>
  143. <param name="password" value="hr" ></param>
  144. <layout class="org.apache.log4j.PatternLayout">
  145. <param name="ConversionPattern" value="INSERT INTO sysRunInfoLog4J (appenderName, logTime, infoLevel, fileName, threadName, className, lineNumber, infoMsg) VALUES ('SysRunInfoDB', '%d', '%p', '%F', '%t', '%c', '%L', '%m')"></param>
  146. </layout>
  147.  
  148. <filter class="org.apache.log4j.varia.LevelRangeFilter">
  149. <param name="LevelMax" value="FATAL"></param>
  150. <param name="LevelMin" value="TRACE"></param>
  151. </filter>
  152. </appender>
  153. -->
  154.  
  155. <!-- 发邮件(只有ERROR时才会发送!) -->
  156. <!-- <appender name="adMail" class="org.apache.log4j.net.SMTPAppender">
  157. <param name="threshold" value="debug"></param>
  158. <param name="BufferSize" value="512"></param>
  159. <param name="From" value="test@163.com"></param>
  160. <param name="SMTPHost" value="smtp.163.com"></param>
  161. <param name="Subject" value="Logs info for the current running system from Log4J Message"></param>
  162. <param name="To" value="test@163.com"></param>
  163. <param name="SMTPUsername" value="test"></param>
  164. <param name="SMTPPassword" value="test"></param>
  165. <layout class="org.apache.log4j.PatternLayout">
  166. <param name="ConversionPattern" value="{adMail} - %d - %-5p - [%F] [%t] [%c:%L] - %m%n"></param>
  167. </layout>
  168.  
  169. <filter class="org.apache.log4j.varia.LevelRangeFilter">
  170. <param name="LevelMax" value="FATAL"></param>
  171. <param name="LevelMin" value="ERROR"></param>
  172. </filter>
  173. </appender> -->
  174.  
  175. <!--- 异步测试,当日志达到缓存区大小时候执行所包的appender -->
  176. <appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
  177. <param name="BufferSize" value="256"></param>
  178. <appender-ref ref="SysRunningDebugLog"></appender-ref>
  179. <appender-ref ref="SysRunCustUseLog"></appender-ref>
  180. <appender-ref ref="SysRunCustUseLogHtm"></appender-ref>
  181. <appender-ref ref="SysRunCustUseLogXml"></appender-ref>
  182. </appender>
  183.  
  184. <!--通过<logger>的定义可以将各个包中的类日志输出到不同的日志文件中 -->
  185. <!--<logger name="test.log4j" additivity="false">
  186. <level value="INFO"></level>
  187. <appender-ref ref="InfoConsole"></appender-ref>
  188. <appender-ref ref="adDatabase"></appender-ref>
  189. <appender-ref ref="SysRunningErrorLog"></appender-ref>
  190. </logger>-->
  191.  
  192. <!--通过<category></category>的定义可以将各个包中的类日志输出到不同的日志文件中 -->
  193. <!--<category name="test.log4j.JavaLog4J.test" additivity="false">
  194. <level value="DEBUG"></level>
  195. <appender-ref ref="adDailyLogFile"></appender-ref>
  196. </category>-->
  197.  
  198. <!-- 控制输出appender项 -->
  199. <root>
  200. <!-- 控制日志输出的最低级别, 则appender输出日志的最低级别为priority|LevelMin|logger|category中的高级别 -->
  201. <priority value="ALL"></priority>
  202. <!-- 系统运行日志 {TRACE, ERROR} -->
  203. <appender-ref ref="InfoConsole"></appender-ref>
  204. <!-- 系统运行的错误日志 {ERROR, FATAL}, 单一 -->
  205. <appender-ref ref="SysRunningErrorLog"></appender-ref>
  206. <!-- 系统运行的调试日志 {DEBUG}, 大小-->
  207. <appender-ref ref="SysRunningDebugLog"></appender-ref>
  208. <!-- 系统运行的用户日志 {INFO, WARN}, 每天, LOG -->
  209. <appender-ref ref="SysRunCustUseLog"></appender-ref>
  210. <!-- 系统运行的用户日志 {INFO, WARN}, 每天, HTM -->
  211. <appender-ref ref="SysRunCustUseLogHtm"></appender-ref>
  212. <!-- 系统运行的用户日志 {INFO, WARN} 每天, XML -->
  213. <appender-ref ref="SysRunCustUseLogXml"></appender-ref>
  214. <!-- 系统运行的所有日志 {TRACE, FATAL}, 运行此配置, 需要配置相应的数据库信息 -->
  215. <!-- <appender-ref ref="SysRunInfoDB"></appender-ref> -->
  216. </root>
  217. </log4j:configuration>

Log4J XML 文件配置文件详情,内含日志级别及文件输出等详解

  • properties 配置文件
  1. # adDatabase \u53D1\u9001\u6570\u636E\u5E93\u4FE1\u606F\u914D\u7F6E
  2. log4j.rootLogger=INFO,adInfoConsole,adInfoFile,adDailyLogFile,adRollingFile,adInfoHtml,adCust
  3. log4j.addivity.org.apache=true
  4.  
  5. # Send to console
  6. log4j.appender.adInfoConsole=org.apache.log4j.ConsoleAppender
  7. # output level
  8. log4j.appender.adInfoConsole.Threshold=INFO
  9. log4j.appender.adInfoConsole.Target=System.err
  10. log4j.appender.adInfoConsole.layout=org.apache.log4j.PatternLayout
  11. log4j.appender.adInfoConsole.layout.ConversionPattern={adInfoConsole} - %d - %-5p - [%F] [%t] [%c:%L] - %m%n
  12. log4j.appender.adInfoConsole.ImmediateFlush=true
  13.  
  14. # Send to file
  15. log4j.appender.adInfoFile=org.apache.log4j.FileAppender
  16. log4j.appender.adInfoFile.Threshold = INFO
  17. log4j.appender.adInfoFile.File=logs/adInfoFile.log
  18. log4j.appender.adInfoFile.Append=true
  19. log4j.appender.adInfoFile.layout=org.apache.log4j.PatternLayout
  20. log4j.appender.adInfoFile.layout.ConversionPattern={adInfoFile} - %d - %-5p - [%F] [%t] [%c:%L] - %m%n
  21.  
  22. # Send to daily file
  23. log4j.appender.adDailyLogFile = org.apache.log4j.DailyRollingFileAppender
  24. log4j.appender.adDailyLogFile.Threshold = ERROR
  25. # file path
  26. log4j.appender.adDailyLogFile.File = logs/adErrorLogFile.log
  27. # default true: add the info to the log file tail; false: rewrite the log file
  28. log4j.appender.adDailyLogFile.Append = true
  29. # directly output the info
  30. log4j.appender.adDailyLogFile.ImmediateFlush = true
  31. # format the file name
  32. log4j.appender.adDailyLogFile.DatePattern = '-'yyyyMMdd'.log'
  33. # '-'yyyy-MM: every month
  34. # '-'yyyy-ww: every week
  35. # '-'yyyy-MM-dd: every day
  36. # '-'yyyy-MM-dd-a: every middle day and night
  37. # '-'yyyy-MM-dd-HH: every hour
  38. # '-'yyyy-MM-dd-HH-mm: every minute
  39. # content format
  40. log4j.appender.adDailyLogFile.layout = org.apache.log4j.PatternLayout
  41. log4j.appender.adDailyLogFile.layout.ConversionPattern ={adDailyLogFile} - %d - %-5p - [%F] [%t] [%c:%L] - %m%n
  42.  
  43. # Send to file
  44. log4j.appender.adRollingFile=org.apache.log4j.RollingFileAppender
  45. log4j.appender.adRollingFile.Threshold=ERROR
  46. log4j.appender.adRollingFile.File=logs/adRollingFile.log
  47. log4j.appender.adRollingFile.Append=true
  48. # the file size (KB, MB, GB)
  49. log4j.appender.adRollingFile.MaxFileSize=1MB
  50. # max backup count
  51. log4j.appender.adRollingFile.MaxBackupIndex=3
  52. log4j.appender.adRollingFile.layout=org.apache.log4j.PatternLayout
  53. log4j.appender.adRollingFile.layout.ConversionPattern={adErrorRollingFile} - %d - %-5p - [%F] [%t] [%c:%L] - %m%n
  54.  
  55. # Send to html
  56. log4j.appender.adInfoHtml = org.apache.log4j.RollingFileAppender
  57. log4j.appender.adInfoHtml.Threshold = INFO
  58. log4j.appender.adInfoHtml.File = logs/adInfoHtml.html
  59. log4j.appender.adInfoHtml.Append = true
  60. log4j.appender.adInfoHtml.MaxFileSize = 3MB
  61. log4j.appender.adInfoHtml.MaxBackupIndex = 3
  62. log4j.appender.adInfoHtml.layout = org.apache.log4j.HTMLLayout
  63. # the html file name
  64. log4j.appender.adInfoHtml.layout.Title =Logs info for the current running system from Log4J Message
  65.  
  66. # Send to database
  67. # log4j.appender.adDatabase=org.apache.log4j.jdbc.JDBCAppender
  68. # log4j.appender.adDatabase.Threshold=DEBUG
  69. # log4j.appender.adDatabase.URL=jdbc:mysql://localhost:3306/test
  70. # log4j.appender.adDatabase.driver=com.mysql.jdbc.Driver
  71. # log4j.appender.adDatabase.URL=jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=Aaron
  72. # log4j.appender.adDatabase.driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
  73. # log4j.appender.adDatabase.URL=jdbc:oracle:thin:@127.0.0.1:1521:aaron
  74. # log4j.appender.adDatabase.driver=oracle.jdbc.driver.OracleDriver
  75. # log4j.appender.adDatabase.user=hr
  76. # log4j.appender.adDatabase.password=hr
  77. # log4j.appender.adDatabase.sql=INSERT INTO sysRunInfoLog4J (appenderName, logTime, infoLevel, fileName, threadName, className, lineNumber, infoMsg) VALUES ('adDatabase', '%d', '%p', '%F', '%t', '%c', '%L', '%m')
  78. # log4j.appender.adDatabase.layout=org.apache.log4j.PatternLayout
  79. # log4j.appender.adDatabase.layout.ConversionPattern=adDatabase %d %p %F %t %c %L %m
  80.  
  81. # Custom
  82. log4j.appender.adCust=org.apache.log4j.DailyRollingFileAppender
  83. log4j.appender.adCust.File=logs/SampleMsgLog4J.xml
  84. log4j.appender.adCust.DatePattern='-'yyyyMMdd-HH'.xml'
  85. log4j.appender.adCust.layout=org.apache.log4j.xml.XMLLayout
  86.  
  87. # Send to mail
  88. log4j.appender.adMail=org.apache.log4j.net.SMTPAppender
  89. log4j.appender.adMail.Threshold=FATAL
  90. log4j.appender.adMail.BufferSize=10
  91. log4j.appender.adMail.From=web@www.wuset.com
  92. log4j.appender.adMail.SMTPHost=www.wusetu.com
  93. log4j.appender.adMail.Subject=Logs info for the current running system from Log4J Message
  94. log4j.appender.adMail.To=web@www.wusetu.com
  95. log4j.appender.adMail.layout=org.apache.log4j.PatternLayout
  96. log4j.appender.adMail.layout.ConversionPattern={adFatalMail} - %d - %-5p - [%F] [%t] [%c:%L] - %m%n

Log4J properties 文件配置详情实例

  • Java Log4J 源代码简单实例
  1. /**
  2. * Aaron.ffp Inc.
  3. * Copyright (c) 2004-2015 All Rights Reserved.
  4. */
  5. package main.java.aaron.java.demo;
  6.  
  7. import org.apache.log4j.Logger;
  8. import org.apache.log4j.PropertyConfigurator;
  9. //import org.apache.log4j.xml.DOMConfigurator;
  10.  
  11. /**
  12. * Log4J 演示实例
  13. * @author Aaron.ffp
  14. * @version V1.0.0: autoUISelenium main.java.aaron.java.demo Log4JDemo.java, 2015-1-30 13:54:02 Exp $
  15. */
  16. public class Log4JDemo {
  17. private static Logger logger = Logger.getLogger(Log4JDemo.class.getName());
  18.  
  19. /**
  20. * 方法主入口
  21. * @author Aaron.ffp
  22. * @version V1.0.0: autoUISelenium main.java.aaron.java.demo Log4JDemo.java main, 2015-1-30 13:54:02 Exp $
  23. *
  24. * @param args
  25. */
  26. public static void main(String[] args) {
  27. // 初始化log4j的配置文件
  28. // DOMConfigurator.configure("src/log4j.xml");
  29. PropertyConfigurator.configure("src/log4j.properties");
  30.  
  31. // 记录debug级别的信息
  32. logger.trace("This is trace message.");
  33.  
  34. // 记录debug级别的信息
  35. logger.debug("This is debug message.");
  36.  
  37. // 记录info级别的信息
  38. logger.info("This is info message.");
  39.  
  40. // 记录warn级别的信息
  41. logger.warn("This is warn message.");
  42.  
  43. // 记录error级别的信息
  44. logger.error("This is error message.");
  45.  
  46. // 记录fatal级别的信息
  47. logger.fatal("This is fatal message.");
  48. }
  49. }

Java Log4J 源代码简单实例

至此, Java学习-007-Log4J 日志记录配置文件详解及实例源代码 顺利完结,希望此文能够给初学 Java 的您一份参考。

最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢! ^_^

Java学习-007-Log4J 日志记录配置文件详解及实例源代码的更多相关文章

  1. Log4J日志信息配置文件详解

    原文地址: http://blog.csdn.net/wuxintdrh/article/details/78282097 使用log4j 记录日志甚是方便,其提供了两种日志配置方式,log4j.pr ...

  2. nginx 日志记录 自定义详解(分析上报用)

    nginx 日志记录 自定义详解   1.log_format 普通格式 log_format main '$remote_addr - $remote_user [$time_local] $req ...

  3. httpd配置文件详解及实例

    httpd配置文件详解及实例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.http协议的组成 http协议是C/S架构:我们可以把浏览器(如:IE,Firefox,Safar ...

  4. Log4j 日志操作包配置详解

    log4j简介 Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件,甚至是套接口服务器.NT的事件记录器.UNIX Syslog守护 ...

  5. Log4j之properties配置文件详解

    Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式.日志信息的优先级从高到低有ERROR.WARN. INFO.DEBUG,分别用来指定这条日志信息的重要程度: ...

  6. Log4j配置文件详解及实例

     1 ) . 配置根 Logger ,其语法为:   log4j.rootLogger = [ level ] , appenderName, appenderName, … 其中, level 是日 ...

  7. Java学习笔记 线程池使用及详解

    有点笨,参考了好几篇大佬们写的文章才整理出来的笔记.... 字面意思上解释,线程池就是装有线程的池,我们可以把要执行的多线程交给线程池来处理,和连接池的概念一样,通过维护一定数量的线程池来达到多个线程 ...

  8. (4.7)mysql备份还原——深入解析二进制日志(3)binlog的三种日志记录模式详解

    关键词:binlog模式,binlog,二进制日志,binlog日志 目录概述 0.binlog概述 查看binlog日志参数设置: show variables like '%log_bin%'; ...

  9. Mybatis学习(二)————— 全局配置文件详解

    一.全部配置内容 SqlMapConfig.xml的配置内容和顺序如下,顺序不能乱.现在来对这些属性的意思一一进行讲解. 二.properties 作用:引用java属性文件中的配置信息,比如,加载连 ...

随机推荐

  1. Session赋值(备注)

    Session赋值也是在后台赋,不是在前台赋 追问 不好意思 那还真能在AJAX中赋值 我已经解决了 加一个接口IRequiresSessionState 就OK 提问者评价 太感谢了,真心有用

  2. hdu Line belt

    这道题是一道3分搜索的题.其实这种题很多时候都出现在高中的解析几何上,思路很简单,从图中可以看到,肯定在AB线段和CD线段上各存在一点x和y使得所花时间最少 因为AB和CD上的时间与x和y点的坐标都存 ...

  3. Android Studio 想说爱你不容易

    开始使用Android Studio 真是非常痛苦的一段经历,而这一切的根源就在于GFW,俗称“墙” 如果避过墙来安装 AS,其实我已经在另外一篇文章中说明:http://www.cnblogs.co ...

  4. Functional programming

    In computer science, functional programming is a programming paradigm, a style of building the struc ...

  5. JavaScript系列:event.bubbles属性(并不是所有的事件都具有冒泡)

    地址 https://www.w3.org/TR/DOM-Level-3-Events/#h3_interface-Event https://segmentfault.com/q/101000000 ...

  6. NV Maxwell architecture

    按照NVIDIA的路线图来看,GTX 600以及GTX 700系列所采用的Kepler架构已经垂垂老矣,最早在明年第一季度,其继任者Maxwell架构可能就会和我们正式见面了.目前外媒已经放出了关于M ...

  7. Yii源码阅读笔记(十三)

    Model类,集中整个应用的数据和业务逻辑: namespace yii\base; use Yii; use ArrayAccess; use ArrayObject; use ArrayItera ...

  8. 【IOS笔记】View Controller Basics

    View Controller Basics   视图控制器基础 Apps running on iOS–based devices have a limited amount of screen s ...

  9. BundleConfig 的使用 通配符

    //是不是说一定要是前缀文件呢 OK 通过 通配符只能使用在前缀或后缀 //捆绑名称 bundles.Add(new StyleBundle("~/caijinhao/caijinhao&q ...

  10. razor 添加html5属性

    在 HTML5 中, 可以使用 data- 属性来表示用户数据,这些数据甚至可以是 JSON 格式的数据,对 Web 前端开发带来很大的方便. 在 MVC 的 Razor 中,可以使用匿名对象来生成定 ...