- 浏览: 142453 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (95)
- java (25)
- 数据库 (9)
- js (0)
- 框架 (10)
- 小问题 (8)
- 转载 (2)
- 配置开发环境 (6)
- 其它 (4)
- 功能记录 (2)
- 安全 (1)
- shell (3)
- spring ibaitis struts2 redis desc (1)
- spring security3.1 (1)
- 小问题 环境 (1)
- 小问题 环境 DelegatingFilterProxy cannot be cast to Filter (0)
- redis filter java (1)
- java redis (2)
- spring quartz 集群 批处理 (1)
- java mybatis (1)
- Junit soap (1)
- mock junit (0)
- mock junit spring (1)
- java jsoup (0)
- jsoup (1)
- python27 pycharm (1)
- maven pom (1)
- java log (1)
- mybatis 分页 (1)
- mysql (1)
- 业务 (1)
- java 测试 (1)
- java zookeeper 批处理 (1)
- hive hadoop (1)
- hive (1)
- hadoop (1)
- maven archetype (1)
- python rsa (1)
- python 页面分析 (1)
- python (0)
最新评论
-
wuyafeng123:
秒杀活动设计思路 -
indiajohns:
非常感谢,很快解决了我的问题
jmesa查询条件中文的编码转换问题 -
yujiaao:
太好了,感谢啊!这行在我这好象不行:URLDecoder.de ...
jmesa查询条件中文的编码转换问题 -
michael_wong:
呵呵,找到啦。在这里有全部源码:http://ishare. ...
Maven权威指南 的simple-parent 工程源码 -
michael_wong:
我也在找啊
Maven权威指南 的simple-parent 工程源码
1. Logback使用手册
系统中的日志采用 slf4j+logback实现
引入记录日志模块
Pom.xml文件中配置
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version> 1.0.13 </version>
</dependency>
代码:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
…
Logger log = LoggerFactory.getLogger(Clazz.class);
logback.xml配置文件中
<root level=”INFO”>
<appender-ref=”STDOUT” /> 在上生产系统时去掉。
<appender-ref=”allRolling” />
<appender-ref=”errorRolling” />
</root>
2. 程序中记录日志常用方法
Logger.error(“the error code is {}”,”1111”);
其中{}是要替换的参数,在评估是否作记录后,仅当需要作记录时,logger 才会格式化消息,
值替换"{}"。换句话说,当记录语句被禁用时,这种方法不会产生参数构造所带来的性能消耗。
Logger.error(“the error code is {}, the reason is{} the money is {}”,“1111”,”reason”,99.9);
此方法适合多个参数
如需打印出异常堆栈信息
Logger.error(“the error code is {}, the reason is{} the money is {}”,“1111”,”reason”,99.9,e);
此方法适合多个参数并打印出异常信息
3. 日志输出效果
4. 日志的自定义扩展
如需定义act.biz业务日志类型
配置如下:
Logger log = LoggerFactory.getLogger(“act.biz”);
配置文件追加
<logger name=" act.biz " level="INFO" >
<appender-ref ref="actbizRolling"/>
</logger>
<appender name=" actbizRolling" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_HOME_SERVICE}/paff-${bySecond}.txt</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME_SERVICE}/paff-%d{yyyy-MM-dd_HH-mm}.%i.zip</fileNamePattern>
<maxHistory>30</maxHistory>
<TimeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<MaxFileSize>10MB</MaxFileSize>
</TimeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
<immediateFlush>false</immediateFlush>
</encoder>
</appender>
5. FAQ
日志不输出的一个原因
<immediateFlush>false</immediateFlush> ,logback会buffer,然后输入.所有时看到文件为空
系统中的日志采用 slf4j+logback实现
引入记录日志模块
Pom.xml文件中配置
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version> 1.0.13 </version>
</dependency>
代码:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
…
Logger log = LoggerFactory.getLogger(Clazz.class);
logback.xml配置文件中
<root level=”INFO”>
<appender-ref=”STDOUT” /> 在上生产系统时去掉。
<appender-ref=”allRolling” />
<appender-ref=”errorRolling” />
</root>
2. 程序中记录日志常用方法
Logger.error(“the error code is {}”,”1111”);
其中{}是要替换的参数,在评估是否作记录后,仅当需要作记录时,logger 才会格式化消息,
值替换"{}"。换句话说,当记录语句被禁用时,这种方法不会产生参数构造所带来的性能消耗。
Logger.error(“the error code is {}, the reason is{} the money is {}”,“1111”,”reason”,99.9);
此方法适合多个参数
如需打印出异常堆栈信息
Logger.error(“the error code is {}, the reason is{} the money is {}”,“1111”,”reason”,99.9,e);
此方法适合多个参数并打印出异常信息
3. 日志输出效果
4. 日志的自定义扩展
如需定义act.biz业务日志类型
配置如下:
Logger log = LoggerFactory.getLogger(“act.biz”);
配置文件追加
<logger name=" act.biz " level="INFO" >
<appender-ref ref="actbizRolling"/>
</logger>
<appender name=" actbizRolling" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_HOME_SERVICE}/paff-${bySecond}.txt</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME_SERVICE}/paff-%d{yyyy-MM-dd_HH-mm}.%i.zip</fileNamePattern>
<maxHistory>30</maxHistory>
<TimeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<MaxFileSize>10MB</MaxFileSize>
</TimeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
<immediateFlush>false</immediateFlush>
</encoder>
</appender>
5. FAQ
日志不输出的一个原因
<immediateFlush>false</immediateFlush> ,logback会buffer,然后输入.所有时看到文件为空
<?xml version="1.0" encoding="UTF-8" ?> <configuration> <property file="/proj/envconfig/projectName/env.properties" /> <substitutionProperty name="LOG_HOME_ALL" value="${LOG_HOME}/${PROJECT_NAME}/all" /> <substitutionProperty name="LOG_HOME_ERROR" value="${LOG_HOME}/${PROJECT_NAME}/error" /> <timestamp key="bySecond" datePattern="yyyyMMdd'T'HHmmss" /> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern> %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n </pattern> <immediateFlush>false</immediateFlush> </encoder> </appender> <appender name="allRolling" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${LOG_HOME_ALL}/${PROJECT_NAME}-all.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${LOG_HOME_ALL}/${PROJECT_NAME}-all-%d{yyyyMMdd}.%i.zip </fileNamePattern> <maxHistory>30</maxHistory> <TimeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <MaxFileSize>100MB</MaxFileSize> </TimeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n </pattern> <charset>UTF-8</charset> <immediateFlush>false</immediateFlush> </encoder> </appender> <!-- error appender --> <appender name="errorRolling" 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> <file>${LOG_HOME_ERROR}/${PROJECT_NAME}-error.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${LOG_HOME_ERROR}/${PROJECT_NAME}-error-%d{yyyyMMdd}.%i.zip </fileNamePattern> <maxHistory>30</maxHistory> <TimeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <MaxFileSize>100MB</MaxFileSize> </TimeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n </pattern> <charset>UTF-8</charset> <immediateFlush>false</immediateFlush> </encoder> </appender> <logger name="proj.all" level="INFO"> <appender-ref ref="allRolling" /> </logger> <!-- root logger --> <root level="INFO"> <!-- only for local test --> <!-- <appender-ref ref="STDOUT" /> --> <appender-ref ref="allRolling" /> <appender-ref ref="errorRolling" /> </root> </configuration>
发表评论
-
详解ReentrantReadWriteLock
2016-04-21 14:34 0package java.util.concurrent. ... -
java内部类使用场景体会
2016-04-21 11:56 913内部类的作用: 1.完善多重继承。 疑问在于:多重继承可以用 ... -
表产生sequence功能,测试并发
2015-11-18 16:21 616@Test public void testSerial ... -
Demo
2014-11-03 21:20 0package com.xly.jsoup.nbjy; /* ... -
反射小计
2014-10-07 11:32 489Test.java方法dd重载 class Test{ ... -
Btrace测试
2014-07-17 17:56 599偶尔看到BTrace,必须记录一下 利用hotSpot虚拟机 ... -
java对象占用heap的大小
2013-07-31 10:09 906一个对象占用的堆空间首先是和它有多少个成员变量直接相关 pub ... -
BeanCopier和BeanUtils实现对象复制,处理date类型
2013-03-29 12:52 4376没有废话 先是BeanUtils的实现类型: impo ... -
liferay 为JournalArticle添加分类
2013-03-21 15:45 1056/** * 为网页内容添加分类 ... -
liferay直接跳转到网页内容编辑页面修改的friendlyUrl效果
2013-03-21 14:11 1209找到portlat-impl.jar包,在目录 port ... -
JMS_DEMO
2013-03-14 20:25 14681.安装activeMq 修改service.pr ... -
Xmemcached/jedis springdemo
2013-02-20 13:13 893Xmemcached: HelloWordTest.ja ... -
规则检查功能的demo
2013-01-31 12:55 0规则检查Demo,包括mina,线程池功能 -
使用spring的线程安全web应用(翻译Thread-safe webapps using Spring)
2013-01-11 16:38 1871http://www.javalobby.org/articl ... -
JAVA虚拟机锁机制的升级流程
2013-01-08 14:52 2833http://ifeve.com/java-synchroni ... -
NIO学习
2012-11-27 11:49 1460最需要关注的是,应用进程、内核、IO三个概念。 所谓java的 ... -
Tomcat的HttpConnector/HttpProcesser(tomcat源码学习)
2012-11-21 10:47 1223先启动进程HttpProcesser,等请求到达后加入sock ... -
web.xml加载
2011-02-18 17:24 881转: web.xml文件内容加载顺序为:context- pa ... -
webLogic中 Cannot parse POST parameters of request: 的问题小记
2010-11-25 13:25 7760报错内容: weblogic.utils.NestedRunt ... -
数字签名Java实现小记
2010-08-30 10:42 1518一个证书发放单位给的证书里面包括一个发送单位的公钥,当前用户的 ...
相关推荐
例如,我们使用logger.info()方法记录了一条INFO级别的日志信息表示应用程序开始运行;使用logger.debug()方法记录了一条DEBUG级别的日志信息表示正在调试;使用logger.error()方法记录了一条ERROR级别的日志信息...
Spring Boot默认使用LogBack日志系统,并且已经引入了相关的jar包,所以我们无需任何配置便可以使用LogBack打印日志。这篇文章主要介绍了SpringBoot+Logback实现一个简单的链路追踪功能,需要的朋友可以参考下
发布记录.......................................................................................................................... 1 1. 介绍...............................................................
Stackify Logback记录器 Logback记录器追加程序,用于将日志消息和异常发送到Stackify。 错误和日志概述: : 注册试用版: : 安装 将其添加为Maven依赖项: < groupId>com.stackify</ groupId> < artifactId>...
在运行时更改每个记录器的Logback级别 从初始logback.xml将级别重置为其默认值 按名称或级别对记录器进行排序 按名称过滤记录器 用法 将文件放入您的项目中,并将其声明为Servlet。 Servlet 3示例: Dynamic ...
主要介绍了Spring Boot 使用 logback、logstash、ELK 记录日志文件的思路详解,文中给大家提到了logback 取代 log4j的理由,需要的朋友可以参考下
该项目演示了 的用法 示例输出显示。 这演示了按示例和按规范记录(请参见规范底部的链接)。 可以使用日志文件顶部的Show 'TRACE' level statements切换Show 'TRACE' level statements日志语句。 Logging Demo...
该库提供了一个基于json的简单布局,可用于将结构化日志发送到gcloud日志记录。 该附加器在中特别有用,在,应将日志发送到stdout。 Stackdriver流利的插件实现 这个产品准备好了吗? 是的。 用法 在build....
用法在您的build.gradle文件中添加为依赖build.gradle : implementation 'com.github.daberni:crashlytics-logback-appender:0.2.3'设置Fabric / Crashlytics之后,您必须设置附加程序以进行正确的日志记录。...
使用特定于域的子树进行JSON日志记录 基于YAML的简单定义格式 通过或插件生成的用户友好型帮助程序类 Markdown文档生成器 Elasticsearch配置生成器 JAX-RS日志注释 多个域可以合并在同一个log语句中。 错误,功能...
该项目旨在监视应用程序日志并将“ WARNING和“ ERROR日志记录事件发送到已配置的webhook。 Appender配置非常通用,这使得可以使用几乎无限数量的通知渠道。 使用Zappier等第三方服务可以完成更复杂的集成。 1....
tomcat默认使用Java.util.logging记录日志,默认只记录tomcat的日志,不记录应用的日志。tomcat支持采用log4j进行日志记录,配置方法如下: 1.更新最新的tomcat_juli.jar包到./bin/目录下; 2.拷贝log4j.jar,lo4j....
齐奥-slf4j slf4j的参照透明日志记录不要忘记在类路径中包含slf4j-api的实现(例如logback)。 libraryDependencies += "com.nequissimus" %% "zio-slf4j" % "0.4.1"用法有关简单的用法示例,请参见 。Scala兹zio-...
Log4db2是DB2 LUW的日志记录实用程序,它使用带有SQL PL代码SQL指令。 其目的是提供一种从SQL例程编写消息的简便方法,并有可能直接从数据库中查询这些消息并查看生成的输出,从而可以监视进程的进度。 该实用程序...
在Java编程中,信息管理通常涉及数据的存储、处理和系统的组织。以下是一些Java中信息管理的常见技术和方法: 1. **数据结构和集合类...6. **日志记录**:Java中流行的日志框架(如Log4j、Logback)可以帮助记录程序运
Scala记录仪 一个简单的日志记录包装器库,提供了Scala惯用语境传播包装Logback记录器。用法(适用于0.8.0及更高版本) 添加到sbt: libraryDependencies + = " com.emarsys " %% " scala-logger " % " x.y.z " 最新...
此外,该项目还建议通过logback进行日志记录,以为与Alma-API集成的应用程序和服务设置标准的日志记录协议。 如何建造 该项目使用gradle。 确保您拥有最新的gradle版本: curl -s "https://get.sdkman.io" | bash ...
日志记录插件,用于使用logback SiftingAppender根据MDC上下文将日志消息动态拆分为单独的日志文件。 之所以需要这样做,是因为Dropwizard会覆盖默认的加载logback配置的机制(logback.xml),以支持application....
例如,您可以使用logback.xml启用slime : <? xml version = " 1.0 " encoding = " UTF-8 " ?>< configuration> < appender xss=removed xss=removed> < encoder xss=removed> < format xss=removed> ...
具体使用方法: //rainbowhorse.site/动态修改日志% ♡Maven坐标 < groupId>com.github.mx-go</ groupId> < artifactId>log-config-core < version>1.0.0 使用 jar包中的LogbackServlet通过web-fragment会自动...