在項目中快速部署SLF4J+LOGBACK


想了解SLF4J,LOGBACK是什么?可以访问:http://www.slf4j.org/ http://logback.qos.ch/
本文大部分参考了Cody Burleson《How to setup SLF4J and LOGBack in a web app - fast》
如果你想看原汁原味的英文版,可以访问:https://wiki.base22.com/display/btg/How+to+setup+SLF4J+and+LOGBack+in+a+web+app+-+fast
我的開發環境
	  開發工具:  springsource-tool-suite-2.9.0
	  JDK版本:   1.6.0_29
	  tomcat版本:apache-tomcat-7.0.26
本文地址: http://www.cnblogs.com/sunang/p/3433987.html 轉載請注明出處^_^
now go!
step1.引入jar包

Maven代碼:
<!-- SLF4J&LOGBACK -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.0.13</version>
</dependency>
step2.編輯LOGBack配置文件
路徑:

代碼:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 輸出到控制台 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
</Pattern><!-- 日誌格式 -->
</layout>
</appender>
<!-- 輸出到文件 -->
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>MyLog.log</file><!-- 指定日誌文件路徑,本地環境下,根目錄為IDE安裝目錄 -->
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
</Pattern><!-- 日誌格式 -->
</layout>
</appender>
<logger name="www.asuan" level="TRACE" /><!-- 包路徑根據你的開發環境而定 -->
<!-- 单个logger可绑定多个appender,一个appender可被多个logger所引用 -->
<root level="debug">
<!-- 引用之前定義的appender -->
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
</configuration>
step3.編輯controller方法,視圖頁面
package www.asuan.com.controller; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping; @Controller
public class TestController { @RequestMapping("/index")
public String index(Model model) {
final Logger LOG = LoggerFactory.getLogger(this.getClass());
LOG.trace("Hello World!");
LOG.debug("How are you today?");
LOG.info("I am fine.");
LOG.warn("I love programming.");
LOG.error("I am programming.");
return "index.ftl";
}
}
頁面代碼:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
運行成功,請查看Console輸出。
</body>
</html>
step4.運行與調試
部署并運行項目,瀏覽器訪問:http://localhost:8080/你的工程名/index.htm
運行結果
頁面:

console輸出結果:

在IDE路徑下(或者是你設定的其他路徑)生成了日誌文件:

日誌文件記錄了controller方法所記錄的日誌:

complete!
在項目中快速部署SLF4J+LOGBACK的更多相关文章
- 教你在Kubernetes中快速部署ES集群
		
摘要:ES集群是进行大数据存储和分析,快速检索的利器,本文简述了ES的集群架构,并提供了在Kubernetes中快速部署ES集群的样例:对ES集群的监控运维工具进行了介绍,并提供了部分问题定位经验,最 ...
 - 在 K8S 中快速部署 Redis Cluster & Redisinsight
		
Redis Cluster 部署 使用 Bitnami helm chart 在 K8S redis 命名空间中一键部署 Redis cluster . helm repo add bitnami h ...
 - 开发环境中快速部署Oracle Essbase(Rapid deployment of oracle essbase in development envrioments)
		
版本:Oracle Enterprise Performance Management System Release11.1.2.4 快速部署自动安装组件: Essbase Oracle Essbas ...
 - 实践录丨如何在鲲鹏服务器OpenEuler操作系统中快速部署OpenGauss数据库
		
本文适合需要快速了解OpenGauss基本使用和操作的单机用户,可以短时间内完成安装体验.对于企业级生产使用或者需要部署多台服务器的,不适合本文. 因为业务需要,要在鲲鹏架构里安装单机版的OpenGa ...
 - 通达OA在centos系统中快速部署文档(web和数据库)
		
通达OA2008从windows环境移植到linux中(centos5.5及以上版本) 如果安装好了,还是无法访问,则需要清空浏览器缓存即可 1.安装lamp环境,这里用的是xampp集成安装包xam ...
 - ubuntu快速部署gitlab汉化容器
		
前言:gitlab的原理我就不扯了(看这个https://www.jianshu.com/p/567207ac51cd),下面直接上操作 1.前提: a.要有docker的运行环境,用service ...
 - 使用 Sealos 在 3 分钟内快速部署一个生产级别的 Kubernetes 高可用集群
		
本文首发于:微信公众号「运维之美」,公众号 ID:Hi-Linux. 「运维之美」是一个有情怀.有态度,专注于 Linux 运维相关技术文章分享的公众号.公众号致力于为广大运维工作者分享各类技术文章和 ...
 - 部署ASP.Net Core 2.1 項目到 IIS
		
用Asp.net core 2.1 寫了一個小的系統框架,記錄一下部署過程: 1. 首先是安裝 IIS 了,從 控制面板→程序→启用或关闭Windows功能→勾选Internet Informatio ...
 - 如何在版本控制工具中管理Sencha Architect的項目
		
根據數次痛苦的經歷結合stack overflow上的解答,發現原來還是可以使用svn.git之類的版本控制工具管理Sencha Architect生成的項目的. 具體的要點如下,假定項目記作{PRO ...
 
随机推荐
- php底层
			
http://www.phpchina.com/member.php?mod=logging&action=login 我们从未手动开启过PHP的相关进程,它是随着Apache的启动而运行的: ...
 - C#实现JSON序列化与反序列化
			
1.使用 JavaScriptSerializer类实现序列化 namespace: System.Web.Script.Serialization eg: // 序列化 private string ...
 - (十三) [终篇] 一起学 Unix 环境高级编程 (APUE) 之 网络 IPC:套接字
			
. . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...
 - pandas中将timestamp转为datetime
			
参考自:http://stackoverflow.com/questions/35312981/using-pandas-to-datetime-with-timestamps 在pandas Dat ...
 - 小记:Bmob云端代码测试APNS推送功能 #代码片段
			
function onRequest(request, response, modules) { var push = modules.oPush; push.send({ "data&qu ...
 - Android 设置代理(验证用户名和密码)
			
这几天在研究在Android中,解析网页,但是公司内容,链接外网需要代理,并需要验证用户名和密码,十分头疼,网上查了下,没有头绪,最后总算在一个外国博客中看到类似的,记录下 URL url = new ...
 - MYSQL常用内置函数详解说明
			
函数中可以将字段名当作变量来用,变量的值就是该列对应的所有值:在整理98在线字典数据时(http://zidian.98zw.com/),有这要一个需求,想从多音字duoyinzi字段值提取第一个拼音 ...
 - NSBundle控件和UIImageView和UIButton区别
			
1.NSBundle 1> 一个NSBundle代表一个文件夹,利用NSBundle能访问对应的文件夹 2> 利用mainBundle就可以访问软件资源包中的任何资源 3> 模拟器应 ...
 - ocfs2: 搭建环境
			
OCFS2是基于共享磁盘的集群文件系统,它在一块共享磁盘上创建OCFS2文件系统,让集群中的其它节点可以对磁盘进行读写操作.OCFS2由两部分内容构成,一部分实现文件系统功能,位于VFS之下和Ext4 ...
 - verilog循环结构
			
1. always(posedge CLOCK) . case(i) . . : . ) ’d0; i <= i + ’b1; end . ’b1; C1 <= C1 + ’b1; end ...