<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="ACTIVITY"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>log/activity.log</file>
<encoder charset="UTF-8">
<pattern>%date|%msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>log/activity.log-%d{yyyy-MM-dd}</fileNamePattern>
<!-- 保留的天数/小时数 -->
<maxHistory>30</maxHistory>
</rollingPolicy>
</appender>
<appender name="SYS"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 日志输出类型 -->
<file>log/sys.log</file>
<encoder charset="UTF-8">
<!-- 输出格式化 -->
<pattern>%date|%thread|%level|%F->%M|%msg%n</pattern>
</encoder>
<!-- 临界值过滤器,过滤掉级别更低的日志 -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志迁移方式(滚动策略) -->
<fileNamePattern>log/sys.log-%d{yyyy-MM-dd-HH}</fileNamePattern>
</rollingPolicy>
</appender>
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<encoder charset="UTF-8">
<pattern>%date|%thread|%level|%F->%M|%msg%n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
</appender>
<!-- additivity="false"表示不传递 -->
<logger name="ACTIVITY" level="DEBUG" additivity="false">
<appender-ref ref="ACTIVITY" />
</logger>
<!-- root是默认的logger,日志的输出先由logger的level控制,再由appender的filter控制 -->
<root level="DEBUG">
<!-- 默认日志采用两种输出方式 -->
<appender-ref ref="stdout" />
<appender-ref ref="SYS" />
</root>
</configuration>

引用jar包:

logback-classic-1.1.1.jar    logback-core-1.1.1.jar     slf4j-api-1.6.6.jar

java代码:

package log_test;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory; public class Test { private static final Logger log = LoggerFactory.getLogger(Test.class);
private static Logger log2 = LoggerFactory.getLogger("ACTIVITY"); public static void main(String[] args) { log.info(System.currentTimeMillis()+"");
log.error(System.currentTimeMillis()+"");
log.debug(System.currentTimeMillis()+""); log2.info(System.currentTimeMillis()+" ACTIVITY");
log2.error(System.currentTimeMillis()+" ACTIVITY");
log2.debug(System.currentTimeMillis()+" ACTIVITY"); }
}

指定配置文件路径:

private static void readLogPath() {
LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(lc);
lc.reset();
try {
configurator.doConfigure("res/logback.xml");
} catch (JoranException e) {
e.printStackTrace();
}
StatusPrinter.printInCaseOfErrorsOrWarnings(lc);
}

项目中用到的logback列子的更多相关文章

  1. 项目中用到RouteTable,发布到IIS7中无法访问

    项目中用到RouteTable,发布到IIS7中,访问之后没有任何反应,google半天终于找到了解决方法,就是要把iis的“HTTP重定向”功能打开

  2. iOS 项目中用到的一些开源库和第三方组件

    iOS 项目中用到的一些 iOS 开源库和第三方组件 分享一下我目前所在公司 iOS 项目中用到的一些 iOS 开源库和第三方组件, 感谢开源, 减少了我们的劳动力, 节约了我们大量的时间, 让我们有 ...

  3. iOS:项目中用到的Cookie

    1.介绍: 做了这么长时间开发,Cookie真是用的不多,可是现在不一样了,这次的项目我用到了Cookie.其实,Cookie的使用在项目中愈加的频繁,一般情况下,提供的接口是用Cookie来识别用户 ...

  4. 项目中用到的SQL-总结

    基本sql总结: Group by的理解:having子句,分组函数 Group by使用的限定: 1.出现在Select列表中的字段或者出现在order by后面的字段,如果不是包含在分组函数中,那 ...

  5. LinkedHashMap和HashMap的比较使用 由于现在项目中用到了LinkedHashMap,并不是太熟悉就到网上搜了一下。 ? import java.util.HashMap; impo

    LinkedHashMap和HashMap的比较使用 由于现在项目中用到了LinkedHashMap,并不是太熟悉就到网上搜了一下. import java.util.HashMap; import ...

  6. 项目中用到的input 遇到的问题的归类

    input 前几天 为了这个词 用在搜索框被我们总监喷,为了加强印象,我把它记录下来 最原始的造型 <input type="text" value="搜索&quo ...

  7. 在项目中用过Spring的哪些方面?及用过哪些Ajax框架?

    在项目中用过Spring的哪些方面?及用过哪些Ajax框架? 解答:在项目使用过Spring IOC ,AOP,DAO,ORM,还有上下文环境. 在项目使用过Ext,Juery等Ajax框架.

  8. 我在一个前端项目中用js整理的一些通用方法,其中使用到的思想,主要就是约定了。

    把名称和后台来的json数据约定起来,可以达到的效果就是可以将东西统一化,减少差异,提升模块等的通用性,此后就可以实现具体不同模块内容可以自动或拷贝赋值的方式 2016.7.18 refactor s ...

  9. linux下查看动态链接库依赖关系的命令 x86: ldd *.so arm: arm-linux-readelf -d *.so 实际例子: 以项目中用到的库librtsp.so分析: lijun@ubuntu:~/workspace$ arm-hisiv100nptl-linux-ld -d librtsp.so arm-hisiv100nptl-linux-ld:

    linux下查看动态链接库依赖关系的命令 x86:ldd    *.so arm:arm-linux-readelf    -d    *.so 实际例子:以项目中用到的库librtsp.so分析:l ...

随机推荐

  1. java打包压缩文件

    package com.it.simple.util; import java.io.BufferedOutputStream;import java.io.ByteArrayOutputStream ...

  2. java CS结构软件自动升级的实现

    前段时间做了一个工具发布给公司的各部门使用后反馈了不少BUG,每次修改后均需要发邮件通知各用户替换最新版本,很不方便,因此后来就写了一个自动升级的功能,这样每次发布新的版本时只需要将其部署到自动升级服 ...

  3. Unity摄像机

    把相机做为人物的子对象,就可以制作: 1.第1人称摄像机:把摄像机摆在眼睛前面 2.第3人称摄像机:把摄像机摆在人后上面 Clear Flags: http://www.haogongju.net/a ...

  4. ogg 、 Shareplex和DSG RealSync 对比

    主流数据库容灾(复制)工具对比     Oracle Golden Gate Quest Shareplex DSG RealSync   公司概要   公司介绍 GoldenGate公司成立于200 ...

  5. 深入浅出Attribute (转载)

    原文地址:http://blog.csdn.net/FantasiaX/article/details/1627694 正文: 什么是Attribute?Attribute是干什么使的?Attribu ...

  6. linux概念之进程分析

    http://blog.csdn.net/kevinx_xu/article/details/8178746 /proc 详解 内核线程分析报告 进程层次 [root@109-com1 scripts ...

  7. cocos2dx 2.x 竖屏

    1, xcode中General->Device Orientation只勾选Portrait. 2, 修改RootViewController.mm中下面代码: // For ios6.0 a ...

  8. python sys.argv[]

    sys.argv[]是用来获取命令行参数的,是一个由该脚本自身路径和其它输入的参数组成的List.sys.argv[0]表示代码本身文件路径. 这里,当我们执行python using_sys.py ...

  9. python读取excel的行数

    基于python3.x下 需要包 from openpyxl import load_workbook 代码如下: from openpyxl import load_workbook wb = lo ...

  10. Oracle的rownum原理和使用

    整理和学习了一下网上高手关于rownum的帖子: 参考资料:  http://tech.ddvip.com/2008-10/122490439383296.html 和 http://tenn.jav ...