1、gradle引用:

compile group: 'commons-logging', name: 'commons-logging', version: '1.1.3'
compile group: 'ch.qos.logback', name: 'logback-core', version: '1.0.13'
compile group: 'ch.qos.logback', name: 'logback-classic', version: '1.0.13'
compile group: 'org.logback-extensions', name: 'logback-ext-spring', version: '0.1.1'
compile group: 'org.slf4j', name: 'slf4j-api', version:'1.7.5'

2、logback.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender> <!-- 时间滚动输出 level为 DEBUG 日志 -->
<appender name="file-debug" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>DEBUG</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY </onMismatch>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${catalina.base}/export/data/logs/debug.%d{yyyy-MM-dd}.log</FileNamePattern>
<MaxHistory>30</MaxHistory>
</rollingPolicy>
<encoder>
<pattern>%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender> <!-- 时间滚动输出 level为 INFO 日志 -->
<appender name="file-info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY </onMismatch>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${catalina.base}/export/data/logs/info.%d{yyyy-MM-dd}.log</FileNamePattern>
<MaxHistory>30</MaxHistory>
</rollingPolicy>
<encoder>
<pattern>%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender> <!-- 时间滚动输出 level为 INFO 日志 -->
<appender name="file-error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY </onMismatch>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${catalina.base}/export/data/logs/error.%d{yyyy-MM-dd}.log</FileNamePattern>
<MaxHistory>30</MaxHistory>
</rollingPolicy>
<encoder>
<pattern>%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender> <!-- 很多人使用Mybatis的时候,控制台不能输出SQL语句,造成调试困难。只需要让DAO层的日志级别调整为DEBUG就可以了 -->
<logger name="com.zhcx.*.*.mapper" level="DEBUG" />
<logger name="com.zhcx.*.*.service.impl" level="DEBUG" />
<logger name="org.apache.activemq" level="ERROR" />
<logger name="com.google.code" level="ERROR" />
<logger name="net.rubyeye.xmemcached" level="ERROR" />
<logger name="org.quartz.core" level="ERROR" /> <!-- 指定项目可输出的最低级别日志 -->
<root level="DEBUG">
<appender-ref ref="console" />
<appender-ref ref="file-debug" />
<appender-ref ref="file-info" />
<appender-ref ref="file-error" />
</root>
</configuration>

3、java调用:

package com.dayhro.role.controller;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.apache.ibatis.session.RowBounds;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; import com.dayhr.web.util.PropertiesCommonUtil;
import com.dayhro.auth.response.UserInfo;
import com.dayhro.auth.util.UserUtil;
import com.dayhro.common.base.Data;
import com.dayhro.common.base.MessageResp;
import com.dayhro.common.pagination.PageUtil;
import com.dayhro.common.util.CommonUtils;
import com.dayhro.common.util.UUIDUtil;
import com.dayhro.role.entity.HroRole;
import com.dayhro.role.param.HroRoleParam;
import com.dayhro.role.response.HroRoleResp;
import com.dayhro.role.service.IHroRoleService; /**
*
* @ClassName:HroRoleController
* @Description: 角色控制器
* @author:
* @date:2016年9月1日 下午7:19:51
* @version
*/
@Controller
@RequestMapping("/hrorole")
public class HroRoleController { protected final Logger log = LoggerFactory.getLogger(getClass()); @Autowired
private IHroRoleService hroRoleService; //角色信息 /**
*
* @Title: queryList
* @Description: 查询角色信息
* @param @param param
* @param @param request
* @param @return
* @return Data
* @throws
*/
@ResponseBody
@RequestMapping("/queryList")
public Data queryList(HroRoleParam param, HttpServletRequest request){ Data data = null;
UserInfo user = UserUtil.getUser(request.getSession());
param.setCorpId(user.getCorpId());
param.setModelId(Long.valueOf(user.getCorpType())); try{ int totalCount = hroRoleService.queryListCount(param); //查询角色总数 // 获取偏移量offSet
int offSet = PageUtil.setParameter(totalCount,param.getPageBean());
// 获取每一页显示的条数
int pageSize = Integer.valueOf(param.getPageBean().getPageSize());
data = new Data(param.getPageBean()); //排序处理,防止SQL注入
if(!"".equals(param.getOrderBy()) && param.getOrderBy()!=null){
param.setOrderBy(PropertiesCommonUtil.getValue("/properties/order.properties", "hrorole."+param.getOrderBy()));
param.setSortType("ASC");
}
RowBounds row = new RowBounds(offSet, pageSize);
List<HroRoleResp> list = hroRoleService.queryList(param, row); //查询角色信息 data.setBeans(list); } catch (Exception e) {
log.error("查询异常", e);
} return data;
}
}

logback 项目应用的更多相关文章

  1. springmvc+logback项目的日志搭建

    一.重写HTMLLayout 两个自定义类:LzhHTMLLayoutBase和LzhHTMLLayout LzhHTMLLayoutBase代码如下: package top.liaozhengha ...

  2. slf4j,log4j,logback 初步使用

    log4j,slf4j,logback简单介绍见 LogBack简易教程 Logback浅析 简单的将,slf4j是一个日志的框架,有各种日志的接口,但是并不包含实际的写日志的方法. log4j,lo ...

  3. 扔掉log4j、log4j2,自己动手实现一个多功能日志记录框架,包含文件,数据库日志写入,实测5W+/秒日志文件写入,2W+/秒数据库日志写入,虽然它现在还没有logback那么强大

    讲到log4j,现在国外基本是没有开发者用这个框架了,原因大致有几点,1.功能太少:2.效率低下:3.线程锁bug等等等各种莫名其妙的bug一直都没解决. 其实最重要的是log4j的作者自己也放弃了l ...

  4. Logback中文文档(一):介绍

    什么是 logback Logback 为取代 log4j 而生. Logback 由 log4j 的创立者 Ceki Gülcü 设计.以十多年设计工业级记录系统的经验为基础,所创建的 logbac ...

  5. 180623-SpringBoot之logback配置文件

    SpringBoot配置logback 项目的日志配置属于比较常见的case了,之前接触和使用的都是Spring结合xml的方式,引入几个依赖,然后写个 logback.xml 配置文件即可,那么在S ...

  6. 在SpringBoot项目中添加logback的MDC

    在SpringBoot项目中添加logback的MDC     先看下MDC是什么 Mapped Diagnostic Context,用于打LOG时跟踪一个“会话“.一个”事务“.举例,有一个web ...

  7. 剖析项目多个logback配置(下)

    来源:http://www.cnblogs.com/guozp/p/5973038.html 上篇大概描述了logback的加载顺序以及加载的源码,本篇将分析如果在你的Maven或者其他多模块的项目中 ...

  8. 剖析项目多个logback配置(上)

    来源:http://www.cnblogs.com/guozp/p/5949744.html 以下两个是我在使用slf4j + logback时候日志提示的问题,问题不大,都是WARN,并不真正影响运 ...

  9. JAVA项目中引用Logback的方法

    一.简介 本文主要讲JAVA项目中引入Logback的方法. 二.解决 1.引入依赖. <!--Begin LogBack Log--> <!-- https://mvnreposi ...

随机推荐

  1. [CareerCup] 14.1 Private Constructor 私有构建函数

    14.1 In terms of inheritance, what is the effect of keeping a constructor private? 这道题问我们用继承特性时,如果建立 ...

  2. [转]MySQL Explain详解

    在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有 ...

  3. OOP多态和继承要点

         早期绑定和多态 C#函数重载的签名规则是用参数的类型和数量判断,而不是函数的名字. 函数返回值不作为重载签名. 修饰符不作为签名的一部分,如static 同函数中,多个参数名称要唯一 ref ...

  4. 分享一个JavaScript嗅探工具Tracker

    今天发现一个好用的JS侦测工具,实时监测JS代码的使用效率,运行状态等. 期待插件作者添加更好的功能. 运行效果 运行效果如下(我把它放到标签里了): 1.点击Tracker书签工具 2.选择查看选项 ...

  5. 喝咖啡写脚本,顺便再加一点点CSS语法糖 1.选择环境

    经过对前端开发的初步了解,大体上发现了以下几点,前端开发需要使用脚本语言,主要是JavaScript,需要Html,需要CSS,这些东西相信很多人已经很熟了.但是仅仅只是学习一点简单的JS,配合Htm ...

  6. EntityFramework_MVC4中EF5 新手入门教程之四 ---4.在EF中创建更复杂的数据模型

    在以前的教程你曾与一个简单的数据模型,由三个实体组成.在本教程中,您将添加更多的实体和关系,并通过指定格式. 验证和数据库映射规则,您将自定义数据模型.你会看到自定义的数据模型的两种方式: 通过添加属 ...

  7. jQuery基础之(一)jQuery概述

    1.jQuery的简介 就像上节所将到的Ajax框架一样,简单的说,jQuery是一个优秀的javascript框架,它能够让用户方便的处理html,events(冒泡)事件,动画效果,ajax交互等 ...

  8. AngularJS开发指南5:AngularJS表达式详解

    AngularJS表达式类似Javascript的代码片段,通常在数据绑定中用到,写在双大括号中,如:{{表达式}}.表达式是用$parse方法来处理的. 下面是一些合法的AngularJS表达式 1 ...

  9. 每天一个linux命令(14):which命令

    我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:        which  查看可执行文件的位置.       whereis 查看文件的位置.         ...

  10. 转-JS之Window对象

    一.说明:他是JS中最大的对象,它描述的是一个浏览器窗口,一般要引用他的属性和方法时,不需要用“Window.XXX”这种形式,而是直接使用“XXX”.一个框架页面也是一个窗口. 二.Window窗口 ...