项目启动时增加日志与系统配置
2015-06-26 16:45
323 查看
在web.xml中增加Servlet:log4j
<servlet> <servlet-name>log4j</servlet-name> <servlet-class>com.wafer.weixin.servlet.Log4JServlet</servlet-class> <load-on-startup>1</load-on-startup>//加载该servlet,1代表优先级 </servlet> <servlet-mapping> <servlet-name>log4j</servlet-name> <url-pattern>/log4j</url-pattern></servlet-mapping>Log4JServlet:
package com.wafer.weixin.servlet; import java.text.SimpleDateFormat;import java.util.Date; import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import java.io.BufferedInputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.util.Properties;import org.apache.log4j.PropertyConfigurator; import com.wafer.weixin.util.MessageUtil;import com.wafer.weixin.util.SignUtil;import com.wafer.weixin.util.WeixinUtil; public class Log4JServlet extends HttpServlet{//增加日志
public static org.apache.log4j.Logger log=org.apache.log4j.Logger.getLogger(Log4JServlet.class.getName()); public void init() throws ServletException{ Date d=new Date();SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String date=df.format(d); log.info("开始加载日志配置...."); String path = getServletContext().getRealPath("/"); String filename = path+"WEB-INF\\log4j.properties"; PropertyConfigurator.configure(filename); log.info("日志配置加载完成...."); log.info("日志配置地址:"+filename);//增加系统配置
String name="config\\system_config.propertys"; InputStream in;try {Properties p = new Properties();in = new BufferedInputStream(new FileInputStream(path+name)); log.info("系统配置路径1:"+path+name);p.load(in);SignUtil.token=p.getProperty("token");WeixinUtil.appId=p.getProperty("appId");WeixinUtil.appSecret=p.getProperty("appSecret");MessageUtil.cache=p.getProperty("cache");MessageUtil.INTER_FACE_HOST=p.getProperty("INTER_FACE_HOST");MessageUtil.WEIXIN_HOST=p.getProperty("WEIXIN_HOST");MessageUtil.toUserName=p.getProperty("toUserName");log.info(SignUtil.token);log.info(WeixinUtil.appId);log.info(WeixinUtil.appSecret);log.info(MessageUtil.cache);log.info(MessageUtil.INTER_FACE_HOST);log.info(MessageUtil.WEIXIN_HOST);log.info(MessageUtil.toUserName);} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} }}system_config.propertys:
token=wafersystemsappId=wx6696dd322fae2a1eappSecret=685ab9909e609da53464bac801bb08e6cache=D:\\tomcat\\apache-tomcat-7.0.53\\webapps\\WeixinWEIXIN_HOST=http://tianjian115.xicp.netINTER_FACE_HOST=http://smartoffice.wafersystems.comtoUserName=gh_31bc4c1cddb8#cache=D:\\WSE\\Weixin\\WebContentlog4j.properties
log4j.configuration=log4j.propertieslog4j.rootCategory =debug,CONSOLE,FILElog4j.appender.CONSOLE=org.apache.log4j.ConsoleAppenderlog4j.appender.CONSOLE.Threshold=ERRORlog4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayoutlog4j.appender.CONSOLE.layout.ConversionPattern=%-4d [%t] %-5p %c %x - %m%nlog4j.appender.debug = org.apache.log4j.FileAppenderlog4j.appender.debug.Threshold = ERRORlog4j.appender.debug.file = d:/debug.loglog4j.appender.debug.layout=org.apache.log4j.PatternLayoutlog4j.appender.debug.layout.ConversionPattern=%-4d [%t] %-5p %c %x - %m%nlog4j.logger.com.opensymphony=ERRORlog4j.logger.org.apache.struts2=ERRORlog4j.appender.FILE=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.FILE.File=C\:/SmartOfficeLogs/WX.loglog4j.appender.FILE.Append=falselog4j.appender.FILE.Encoding=utf-8log4j.appender.FILE.Threshold=infolog4j.appender.FILE.BufferedIO=false#Buffer单位为字节,默认是8K 现在为 32k缓冲log4j.appender.FILE.BufferSize=8192log4j.appender.FILE.layout=org.apache.log4j.PatternLayoutlog4j.appender.FILE.layout.ConversionPattern=%-4d [%t] %-5p %c %x - %m%n相关文章推荐
- leetcode[35]:Search Insert Position
- Haskell之Yesod开发–边踩坑边开发(2)
- kxmovie ffmpeg 移植
- linux FIFO
- jquery validate验证
- 网上分享知识和帮助他人,自己有什么收获?
- 用C++调用C的库函数(转载)
- 【Unity实用小技巧】Unity使用总结(一)
- struts 交给spring管理
- appserv下PHP无法加载MYSQL驱动
- Java中的克隆clone以及对数组的复制
- 定积分之旋转曲面的面积
- UISwitch开关控件
- socket select函数的详细讲解
- VS SQL 出现%CommonDir%dte80a.olb 该解决方案
- jquery offset tip
- C#设计模式观察者
- 增删改查本地JSON
- GCD:dispatch_sync会在当前线程中执行派发到其他队列的任务
- mybatis增删改查