设为首页 收藏本站
查看: 405|回复: 0

[经验分享] tomcat 日志打印以及Log文件创建

[复制链接]

尚未签到

发表于 2017-2-1 08:43:31 | 显示全部楼层 |阅读模式
  最近我公司的数据流量过大,导致数据库爆掉!
  所以,数据库压力增大!
  一般来说!
  数据库压力增大,可以通过建立中间表,或者log表,通过一个job执行!一步步查!
  又或者分离表,见一个很大的表分成很多小表!查询的时候,要更加明确!也可以通过多表查询得到结果!
  还有一种就是直接得到日志!
  我用的是直接用tomcat创建一个Log日志文件!
  首先在config.properties中配置下
  加

epg.video.logfile.dir =E:/job/log
  然后在spring配置中配置下!也就是启动和退出的时候才启动日志!

<bean id="runtimeService" class="com.viewtoo.epg.service.RuntimeService" init-method="init"
destroy-method="destroy">
<property name="manager">
<ref local="manager"/>
</property>
<property name="epgVideoDrLogFileDir" value="${epg.video.logfile.dir}"/>
</bean>
  然后在com.viewtoo.epg.service.RuntimeService类里面配置一个set方法!这个我就不贴代码了!
  下面是我的java代码

/**
* 定义log的输出格式,已经存储区域的命名
* @param pathName
* @return Log
*/
private Logger _getLogger(String pathName) {
Logger logs = (Logger)logHandlerMap.get(pathName);
try {
if (logs == null) {
logs = Logger.getLogger("com.viewtoo.epg.logservice." + pathName);
Layout layout = new PatternLayout("%d{yyyy-MM-dd HH:mm:ss}%m%n");    //输出格式
String filePath = this.epgVideoDrLogFileDir  + pathName + "_" + DateUtils.formatDate(new Date(), "yyyy-MM-dd") + ".log";
String datePattern = ".yyyy-MM-dd"; //每天
DailyRollingFileAppender appender = new DailyRollingFileAppender(layout, filePath, datePattern);
logs.setLevel(Level.INFO);
logs.addAppender(appender);
logHandlerMap.put(pathName,logs);
}
return logs;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
  logHandlerMap 这个我定义的是全局!因为如果不这么定义,会导致log重复输出!
  所以!
  这么定义方便事例和查找!我debug了也找不到问题!网上找了很多资料!但是,大多数,都无法与我想的逻辑匹配!
  所以!这么定义方便!

/**
*
* @param obj
* @param pathName
*/
private void _log2File(Object obj, String pathName) {
Logger logs = this._getLogger(pathName.trim());
if("EpDr".equals(pathName.trim())){
EpDr epDr = (EpDr)obj;
logs.info(epDr.toString());
}
}
  上面这么写!是为了方便以后拓展!还有就是!我在EpDr 这个entity中自定义了一个toString方法!
  还有,就是该,在创建日志文件的时候,要记得!输出的顺序,要跟数据库的一样!
  因为,这样方便查询!而且,也方便以后再DB端操作!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-335956-1-1.html 上篇帖子: tomcat报错:standardServer.await: create[8005]: 下篇帖子: Maven Web项目部署到Tomcat下
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表