网站制作教程:初学者建设银行信用卡网站登录
网站制作教程:初学者,建设银行信用卡网站登录,搭建网站的方法,wordpress英语商城插件1. 动态的改变记录级别和策略#xff0c;即修改log4j.properties,不需要重启Web应用#xff0c;这需要在web.xml中设置一下。2. 把log文件定在 /WEB-INF/logs/ 而不需要写绝对路径。3. 可以把log4j.properties和其他properties一起放在/WEB-INF/ #xff0c;而不是Class-Pat…1. 动态的改变记录级别和策略即修改log4j.properties,不需要重启Web应用这需要在web.xml中设置一下。2. 把log文件定在 /WEB-INF/logs/ 而不需要写绝对路径。3. 可以把log4j.properties和其他properties一起放在/WEB-INF/ 而不是Class-Path。 web.xml中的设定 在web.xml中的详细设定如下 context-param param-namelog4jConfigLocation/param-name param-valueWEB-INF/log4j.properties/param-value
/context-param
context-param param-namelog4jRefreshInterval/param-name param-value60000/param-value
/context-param
!-- 需要添加spring-web.jar包否则用发生错误信息 --
listener listener-classorg.springframework.web.util.Log4jConfigListener/listener-class
/listener 说明 其中第二部分就是能够动态修改log4j.properties的关键容器会每60秒扫描log4j的配置文件 。对 于log4j的配置文件如何写这就不多说了大家可以去google有一点就是我们如果用RollingFileAppender或者 FileAppender时可以通过${webapp.root}来定位到服务器的发布的该项目下这是spring把web目录的路径压入到了 webapp.root的系统变量。然后在log4j.properties 里就可以这样定义logfile位置log4j.appender.logfile.File${webapp.root}/WEB-INF/logs /myfuse.log 如果有多个web应用怕webapp.root变量重复可以在context-param里定义webAppRootKey。当我们定义完 log4j.properties后剩下的就是在需要记录的class中new 出Logger了。 Log4j详细设置说明 1 log4j.rootCategoryINFO, stdout , R 此句为将等级为INFO的日志信息输出到stdout和R这两个目的地stdout和R的定义在下面的代码可以任意起名。等级可分为 OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL如果配置OFF则不打出任何信息如果配置为INFO这样只显示INFO, WARN, ERROR的 log信息而DEBUG信息不会被显示具体讲解可参照第三部分定义配置文件中的logger。 3 log4j.appender.stdoutorg.apache.log4j.ConsoleAppender 此句为定义名为stdout的输出端是哪种类型可以是 org.apache.log4j.ConsoleAppender控制台org.apache.log4j.FileAppender文件org.apache.log4j.DailyRollingFileAppender每天产生一个日志文件org.apache.log4j.RollingFileAppender文件大小到达指定尺寸的时候产生一个新的文件org.apache.log4j.WriterAppender将日志信息以流格式发送到任意指定的地方具体讲解可参照第三部分定义配置文件中的Appender。 4 log4j.appender.stdout.layoutorg.apache.log4j.PatternLayout 此句为定义名为stdout的输出端的layout是哪种类型可以是 org.apache.log4j.HTMLLayout以HTML表格形式布局org.apache.log4j.PatternLayout可以灵活地指定布局模式org.apache.log4j.SimpleLayout包含日志信息的级别和信息字符串org.apache.log4j.TTCCLayout包含日志产生的时间、线程、类别等等信息 具体讲解可参照第三部分定义配置文件中的Layout。 5 log4j.appender.stdout.layout.ConversionPattern [QC] %p [%t] %C.%M(%L) | %m%n 如果使用pattern布局就要指定的打印信息的具体格式ConversionPattern打印参数如下 %p: 输出日志信息优先级即DEBUGINFOWARNERRORFATAL, %d: 输出日志时间点的日期或时间默认格式为ISO8601也可以在其后指定格式比如%d{yyy MMM dd HH:mm:ss,SSS}输出类似2002年10月18日 221028921 %r: 输出自应用启动到输出该log信息耗费的毫秒数 %c: 输出日志信息所属的类目通常就是所在类的全名 %t: 输出产生该日志事件的线程名 %l: 输出日志事件的发生位置相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程以及在代码中的行数。举例Testlog4.main(TestLog4.java:10) %x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。 %%: 输出一个%字符 %F: 输出日志消息产生时所在的文件名称 %L: 输出代码中的行号 %m: 输出代码中指定的消息,产生的日志具体信息 %n: 输出一个回车换行符Windows平台为\r\nUnix平台为\n输出日志信息换行可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。如 1)%20c指定输出category的名称最小的宽度是20如果category的名称小于20的话默认的情况下右对齐。 2)%-20c:指定输出category的名称最小的宽度是20如果category的名称小于20的话-号指定左对齐。 3)%.30c:指定输出category的名称最大的宽度是30如果category的名称大于30的话就会将左边多出的字符截掉但小于30的话也不会有空格。 4)%20.30c:如果category的名称小于20就补空格并且右对齐如果其名称长于30字符就从左边交远销出的字符截掉。 [QC]是log信息的开头可以为任意字符一般为项目简称。 输出的信息 [TS] DEBUG [main] AbstractBeanFactory.getBean(189) | Returning cached instance of singleton bean MyAutoProxy 具体讲解可参照第三部分定义配置文件中的格式化日志信息。 7 log4j.appender.Rorg.apache.log4j.DailyRollingFileAppender 此句与第3行一样。定义名为R的输出端的类型为每天产生一个日志文件。8 log4j.appender.R.FileD: \\Tomcat 5.5 \\logs\\qc.log 此句为定义名为R的输出端的文件名为D: \\Tomcat 5.5 \\logs\\qc.log可以自行修改。 9 log4j.appender.R.layoutorg.apache.log4j.PatternLayout 与第4行相同。 10 log4j.appender.R.layout.ConversionPattern%d-[TS] %p %t %c - %m%n 与第5行相同。 12 log4j.logger.com. neusoft DEBUG 指定com.neusoft包下的所有类的等级为DEBUG。 可以把com.neusoft改为自己项目所用的包名。 13 log4j.logger.com.opensymphony.oscacheERROR 14 log4j.logger.net.sf.navigatorERROR 这两句是把这两个包下出现的错误的等级设为ERROR如果项目中没有配置EHCache则不需要这两句。 15 log4j.logger.org.apache.commonsERROR 16 log4j.logger.org.apache.strutsWARN 这两句是struts的包。 17 log4j.logger.org.displaytagERROR 这句是displaytag的包。QC问题列表页面所用 18 log4j.logger.org.springframeworkDEBUG 此句为Spring的包。 24 log4j.logger.org.hibernate.ps.PreparedStatementCacheWARN 25 log4j.logger.org.hibernateDEBUG 此两句是hibernate的包。 以上这些包的设置可根据项目的实际情况而自行定制。 一个项目的配置的例子 下面给出的Log4J配置文件实现了输出到控制台文件回滚文件发送日志邮件输出到数据库日志表自定义标签等全套功能。log4j.rootLoggerINFO,CONSOLE,DATABASE#DEBUG,CONSOLE,FILE,ROLLING_FILE,MAIL,DATABASElog4j.addivity.org.apachetrue#########################Console Appender ########################log4j.appender.CONSOLEorg.apache.log4j.ConsoleAppender log4j.appender.ThresholdDEBUG log4j.appender.CONSOLE.TargetSystem.out log4j.appender.CONSOLE.layoutorg.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern%d{yyyy-MM-dd HH:mm:ss} %c %m#log4j.appender.CONSOLE.layout.ConversionPattern[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n######################### File Appender #########################log4j.appender.FILEorg.apache.log4j.FileAppender #log4j.appender.FILE.FileD:\\file.log #log4j.appender.FILE.Appendfalse #log4j.appender.FILE.layoutorg.apache.log4j.PatternLayout #log4j.appender.FILE.layout.ConversionPattern[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n # Use this layout for LogFactor 5 analysis######################## # Rolling File ######################## #log4j.appender.ROLLING_FILEorg.apache.log4j.RollingFileAppender #log4j.appender.ROLLING_FILE.ThresholdERROR #log4j.appender.ROLLING_FILE.Filerolling.log #log4j.appender.ROLLING_FILE.Appendtrue #log4j.appender.ROLLING_FILE.MaxFileSize10KB #log4j.appender.ROLLING_FILE.MaxBackupIndex1 #log4j.appender.ROLLING_FILE.layoutorg.apache.log4j.PatternLayout #log4j.appender.ROLLING_FILE.layout.ConversionPattern[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n#################### # Socket Appender #################### #log4j.appender.SOCKETorg.apache.log4j.RollingFileAppender #log4j.appender.SOCKET.RemoteHostlocalhost #log4j.appender.SOCKET.Port5001 #log4j.appender.SOCKET.LocationInfotrue # Set up for Log Facter 5 #log4j.appender.SOCKET.layoutorg.apache.log4j.PatternLayout #log4j.appender.SOCET.layout.ConversionPattern[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n######################## # Log Factor 5 Appender ######################## #log4j.appender.LF5_APPENDERorg.apache.log4j.lf5.LF5Appender #log4j.appender.LF5_APPENDER.MaxNumberOfRecords2000######################## # SMTP Appender ####################### #log4j.appender.MAILorg.apache.log4j.net.SMTPAppender #log4j.appender.MAIL.ThresholdFATAL #log4j.appender.MAIL.BufferSize10 #log4j.appender.MAIL.Fromchenylyeqiangwei.com#log4j.appender.MAIL.SMTPHostmail.hollycrm.com #log4j.appender.MAIL.SubjectLog4J Message #log4j.appender.MAIL.Tochenylyeqiangwei.com#log4j.appender.MAIL.layoutorg.apache.log4j.PatternLayout #log4j.appender.MAIL.layout.ConversionPattern[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n######################## # JDBC Appender ####################### log4j.appender.DATABASEorg.apache.log4j.jdbc.JDBCAppender log4j.appender.DATABASE.URLjdbc:sqlserver://202.193.75.244:1433;DatabaseNamecablog4j.appender.DATABASE.drivercom.microsoft.sqlserver.jdbc.SQLServerDriverlog4j.appender.DATABASE.usersa log4j.appender.DATABASE.password log4j.appender.DATABASE.sqlINSERT INTO Log4j VALUES (%d{yyyy-MM-dd HH:mm:ss}, %c, %m) log4j.appender.DATABASE.layoutorg.apache.log4j.PatternLayout log4j.appender.DATABASE.layout.ConversionPattern[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n#log4j.appender.A1org.apache.log4j.DailyRollingFileAppender #log4j.appender.A1.FileE:\\file.log #log4j.appender.A1.DatePatternyyyyMMdd-HH.log4j #log4j.appender.A1.layoutorg.apache.log4j.xml.XMLLayoutlog4j.appender.A1.DatePatternyyyyMMdd-HH.log4j log4j.appender.A1.layoutorg.apache.log4j.xml.XMLLayout 项目中的具体使用 在每一个类下引入 importorg.apache.commons.logging.Log; importorg.apache.commons.logging.LogFactory; 在类里申请一个全局LOG对象 private final Log logger LogFactory.getLog(getClass()); 在具体的方法里面直接使用即可 logger.info(登陆成功);转载于:https://www.cnblogs.com/liaojie970/p/5154231.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/92615.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!