LogBack.xml文件配置

LogBack.xml⽂件配置

Logback-spring.xml配置⽂件

1、⽇志级别:⽇志级别从低到⾼分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,例如:如果设置为WARN,则低于WARN

的信息都不会输出

2、根节点:configuration

configuration 有三个可选属性:

a、scan属性:⽤来设置配置⽂件变动时是否重新加载,值是true\false,默认是true即配置变动时重新加载

b、scanperiod属性:⽤来设置每隔多久检查⼀次配置是否变动,默认是1分钟,默认单位是毫秒

c、debug属性:⽤来设置是否将logback内部的⽇志打印出来,即启动时输出配置加载信息。值为true\false 默认为false

3、property节点:

设置要使⽤的或者共⽤的变量,property包含两个属性name和value;其中name的值是变量的名称,value的值是变量所代表的值。

定义的值可以使⽤“${变量名}”到logger上下⽂中。

4、springProperty节点

该标签的⼯作⽅式类似于Logback的标准标签。但是,value您⽆需指定direct,⽽是指定source属性的(来⾃Environment)。

如果需要将属性存储在local范围之外的其他位置,则可以使⽤该scope属性。

如果需要后备值(如果未在中设置属性Environment),则可以使⽤defaultValue属性。

5.appender节点

appender节点可以有多个,分别针对不同的包或者类做不同的输出,

如果appender输出到⽂件时,可以设置append⼦节点值true/false,是末尾追加⽇志还是替换⽇志,值为true时表⽰追加。

可以在appender中使⽤filter节点(过滤器),在此节点内过滤⽇志级别(使⽤level节点指定),过滤后会返回⼀个枚举值,

即DENY,NEUTRAL,ACCEPT其中之⼀:

A、返回DENY,⽇志将⽴即被抛弃不再经过其他过滤器;

B、返回NEUTRAL,有序列表⾥的下个过滤器接着处理⽇志;

C、返回ACCEPT,⽇志会被⽴即处理,不再经过剩余过滤器

如果需要使⽤这些值做处理时,需要使⽤onMatch(level级别或⼤于level级别的)和onMismatch(级别⼩于level级别的)

6、logger节点

⽤来设置某⼀个包或者具体的某⼀个类的⽇志打印级别、以及指定appender。logger仅有⼀个name属性和两个可选的level、addtivity属

性。

Name属性:⽤来指定受此logger约束的某⼀个包或者具体的某⼀个类。

Level属性:⽤来设置打印级别,⼤⼩写⽆关:TRACE, DEBUG, INFO, WARN, ERROR

如果未设置此属性,那么当前logger将会继承上级的级别。

Addtivity属性:⽤来设置是否向上级logger传递打印信息。默认是true。

logger可以包含零个或多个appender-ref元素,标识这个appender将会添加到这个logger

7、root节点

也是元素,但是它是根logger。只有⼀个level属性,因为已经被命名为"root".

level:⽤来设置打印级别,⼤⼩写⽆关:TRACE, DEBUG, INFO, WARN, ERROR。默认是DEBUG。

root可以包含零个或多个appender-ref元素,标识这个appender将会添加到这个logger

8、pattern节点定义的输出模式解释

%d{HH:mm:ss.SSS} 当前时间; [%thread] [当前线程名称]

%-5level logger级别

%logger{36} logger名称

-%msg%n 定义的输出

%line 输出⽇志的⾏号

%n 换⾏

%date和%d{yyyy-MM-dd HH:mm:ss.SSS} 当前时间包含年⽉⽇

{%C.java:%L} 输出⽇志所在的java类、所在⾏及路径可以替换[%thread]

9、appender下的filter的常见种类

在logback中,过滤器可以添加到Appender上。通过添加⼀个或多个过滤器到Appender,你可以通过任意条件,

⽐如:⽇志内容、MDC内容、时间等等⽇志的任何部分,过滤⽇志事件。

级别过滤器

级别过滤器()是基于准确匹配⽇志级别。如果⽇志级别等于配置的级别,过滤器通过配置中的OnMatch与OnMismatch属性决定是接受还

是拒绝事件。

阀值过滤器

阀值过滤器()过滤低于指定阀值的事件。当事件中的⽇志级别⼤于等于指定阀值时,过滤器的decide⽅法返回NEUTRAL。然⽽,拒绝⽇志

级别⼩于阀值的事件。

条件过滤器

条件过滤器()是⼀种封装了EventEvaluator的通过过滤器。像名字代表的,条件过滤器是根据判断事件是否符合指定条件来分别返回

OnMatch与OnMismatch属性⾥的值。

注意:EventEvaluator是⼀个抽象类,通过继承它,你可以实现你⾃⼰的条件逻辑。

附上配置⽂件模板:

%d{MM-dd HH:mm:ss.SSS} %-5level [%logger{50}] - %msg%n

${log.path}/info.log

${log.path}/%d{yyyy-MM}/info.%d{yyyy-MM-dd}.%i.log

20MB

30

true

%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n

info

${log.path}/debug.log

${log.path}/%d{yyyy-MM}/debug.%d{yyyy-MM-dd}.%i.log

20MB

30

true

%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n

debug

${log.path}/error.log

${log.path}/%d{yyyy-MM}/error.%d{yyyy-MM-dd}.%i.log

20MB

30

true

%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n

error

合集下载

解决springbootyml配置logging.level报错问题

解决springbootyml配置logging.level报错问题

解决springbootyml配置logging.level报错问题

如下所⽰:

logging:

config: classpath:spring-logback.xml

pattern:

console: "%d - %msg%n"

level: info

直接写 level: info 会报错:

org.springframework.boot.context.properties.bind.BindException: Failed to bind properties under 'logging.level' to

java.util.Map

...

Caused by: org.springframework.core.convert.ConverterNotFoundException: No converter found capable of

converting from type [ng.String] to type [java.util.Map]

...

解决⽅法 :加个root

logging:

config: classpath:spring-logback.xml

pattern:

console: "%d - %msg%n"

level:

root: info

运⾏成功

以上这篇解决springboot yml配置 logging.level 报错问题就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望

⼤家多多⽀持。

mdc java 简书

mdc java 简书

mdc java 简书

MDC Java 简书

一、介绍

在软件开发领域,MDC(Mapped Diagnostic Context)是一种用于记录日志并跟踪线程上下文信息的技术。它可以帮助开发人员更好地理解和调试应用程序,提高代码的可读性和可维护性。本文将简要介绍MDC Java的基本概念和用法。

二、MDC Java的基本概念

MDC Java是基于日志框架的一个功能,常见的日志框架如log4j、logback等都支持MDC功能。MDC的原理是通过使用线程局部变量来存储和传递上下文信息。在多线程环境中,MDC会为每个线程维护独立的上下文信息,确保不同线程之间的信息不会混淆。

三、MDC Java的用法

使用MDC Java的第一步是导入相应的日志框架依赖。以logback为例,可以在项目的pom.xml文件中添加以下依赖:

```xml

ch.qos.logback

logback-classic

1.2.3

```

在代码中,可以使用MDC的静态方法来设置和获取上下文信息。例如,可以使用`MDC.put(key, value)`方法来设置一个键值对,然后使用`MDC.get(key)`方法来获取对应的值。

MDC的典型应用场景之一是在分布式系统中进行日志追踪。通过在请求处理过程中设置唯一的请求ID,可以将同一个请求的日志信息关联起来,方便后续的故障排查和性能分析。

四、MDC Java的优势

相比于传统的日志输出方式,MDC Java有以下优势:

1. 线程安全:MDC会为每个线程维护独立的上下文信息,避免不同线程之间的信息混淆。

2. 可扩展性:MDC可以轻松集成到各种日志框架中,具有较强的灵活性和可扩展性。

3. 便捷性:使用MDC Java可以在代码中方便地设置和获取上下文信息,不需要手动传递参数或在日志输出中插入冗余信息。

五、总结

本文简要介绍了MDC Java的基本概念和用法。MDC Java是一种用于记录日志并跟踪线程上下文信息的技术,可以帮助开发人员更好地理解和调试应用程序。通过合理使用MDC Java,可以提高代码的可读性和可维护性,提升软件开发的效率和质量。

javamelody 使用方法

javamelody 使用方法

第 1 页 共 7 页 javamelody 使用方法

【实用版3篇】

目录(篇1)

I.javamelody 简介

II.如何安装 javamelody

III.javamelody 的使用方法

IV.如何配置 javamelody

V.javamelody 的性能

VI.javamelody 的总结

正文(篇1)

I.javamelody 简介

javamelody 是一款用于监控 Java 应用程序性能的开源工具。它能够收集应用程序的各种指标,如响应时间、错误率等,并提供友好的界面展示这些数据。

II.如何安装 javamelody

要安装 javamelody,您需要遵循以下步骤:

1.将 javamelody 添加到您的项目的依赖中。您可以在 Maven 或

Gradle 中添加以下依赖:

```xml

u003cdependencyu003e

u003cgroupIdu003eorg.javamelodyu003c/groupIdu003e

u003cartifactIdu003ejavamelody-coreu003c/artifactIdu003e 第 2 页 共 7 页 u003cversionu003e1.9u003c/versionu003e

u003c/dependencyu003e

```

III.javamelody 的使用方法

要使用 javamelody,您需要执行以下步骤:

1.在您的应用程序中添加以下代码:

```java

Mamelody.METER("my-meter"); // 定义一个度量器,并为其命名

Mamelody.监控(MyClass.class); // 监控 MyClass 类的性能指标

```

2.在您的应用程序启动时启动 javamelody:

```bash

java -jar javamelody-1.9.jar --prefix=/path/to/application

maven-assembly-plugin插件的使用方法

maven-assembly-plugin插件的使用方法

maven-assembly-plugin插件的使⽤⽅法

⼀. Assembly 是什么意思?

⼆. maven-assembly-plugin是什么?

它是maven中针对打包任务⽽提供的标准插件。

三. maven-assembly-plugin插件的作⽤?

摘⾃官⽹:/plugins/maven-assembly-plugin/

英⽂原⽂:The Assembly Plugin for Maven is primarily intended to allow users to aggregate the project output along with its

dependencies,

modules, site documentation, and other files into a single distributable archive.

中⽂翻译:Assembly 插件的主要作⽤是,允许⽤户将项⽬输出与它的依赖项、模块、站点⽂档、和其他⽂件⼀起组装成⼀个可分发的归档⽂件。 (翻译不⼀定准确,以英⽂为准)

四.maven-assembly-plugin插件在maven项⽬中如何使⽤(即使⽤步骤)?

1. 需要指定⼀个Assembly描述符⽂件。该⽂件指定了打包格式,包含的⽂件/过滤的⽂件等信息,可以同时指定多个描述符⽂件,打包成

不同的格式。

2. 在Maven⼯程的pom.xml⽂件⾥配置maven-assembly-plugin插件,引⼊Assembly描述符⽂件。

五. maven项⽬中Assembly描述符⽂件详解

⽰例:

xmlns="/plugins/maven-assembly-plugin/assembly/1.1.2"

xmlns:xsi="/2001/XMLSchema-instance"

(新版)如何生成2018新定额EZB、EKZ、ETB、备案XML全流程电子标格式文件

(新版)如何生成2018新定额EZB、EKZ、ETB、备案XML全流程电子标格式文件

如何生成2018新定额EZB、EKZ、ETB等全流程电子标格式文件

尊敬的新点软件用户:

为了方便大家更好地使用新点软件10.X版本编制和生成2018新定额全流程电子标18ezb、18ekz、18etb、XML备案,特地做以下操作流程介绍:

(新点软件10。X版本为您的2018新定额保驾护航)

1、首先,10。X版本软件必须要是最新版的,目前,10.X最新版是03版本:

新点_2013清单造价_安徽版_V10.0.0。03

必须要新建项目,不管是一个单位工程还是多个单位工程,一律新建项目,因为新建项目的功能要远远大于新建单位工程.

单项工程后缀是。emahx、单位工程后缀是.epahx

(单项工程后缀)

(单位工程后缀)

新建项目的时候专业类别一定要选好,新定额要求一个工程类别对应一个单位工程,原则上一条定额对应一条清单。2018新定额规范要求一个单位工程原则上只有一个专业或者工程类别、一个专业的措施费、一个专业的不可竞争费模板,所以新建项目的时候只需要将工程类别选择好即可,不需要在后面单独设置别的专业的管理费、利润或者措施费费率。 举个例子,比如A工程比较特殊,是以土建专业为主,略带个别装饰专业的定额,那么新建项目的时候选择土建专业里面的工程模板,并且,管理费、利润费率、措施项目以及不可竞争费项目都要以土建作为基准专业模块.如果B工程是以市政专业为主,略带个别土建专业的定额,那么新建项目要以市政专业作为基准专业模块。如果C工程里面同时含有土建和装饰专业,并且土建和装饰专业的报价差不多,那么就要将C工程里面的土建和装饰分别新建单位工程“D-土建工程”、“E—装饰工程".

2、工程做完以后需要进行项目自检。不管是编制招标控制价还是做投标报价,做完项目以后都要进行项目自检,我们新点10.X版本提供的项目自检功能比较完善,可以最大限度地免除您在招标、投标、备案、审计等多个环节的后顾之忧.

3、生成2018新定额18ezb招标文件:点击“项目”→“生成招标"即可。

SpringBootLogback实现输出到Logstash或文件的动态切换

SpringBootLogback实现输出到Logstash或文件的动态切换

SpringBootLogback实现输出到Logstash或⽂件的动态切换

开发过程中,⽇志⼀般都是直接输出到logstash,不过这都是⼏年前的玩法了。⽣产环境⼀般都是通过Filebeat去收集⽇志,不采⽤应⽤直连logstash的⽅式。为了实现快速切

换,因此在项⽬的application.yml中添加个开关,直接通过开关切换输出到⽂件还是logstash

⼀、实现思路

(1)application.yml添加⼀个开关项

(2)logback-spring.xml 中取application.yml的开关项值

(3)logback-spring.xml 对 开关值进⾏判断,⽤if 标签动态加载

⼆、具体实现

(1)application.yml

(2) logback-spirng.xml

(3)参数值传递流转图

软件生产环境部署文档

生产环境部署文档:

1. 生产环境地址

待定

2. 部署路径

待定

3. 修改application.yml配置文件

a. 修改日志输出路径

logging:

config: classpath:logback.xml

file: 依据生产环境而定

path: 依据生产环境而定

b. 修改Eureka地址

eureka:

client:

serviceUrl:

defaultZone: 依据生产环境而定

c. 修改本服务名

spring:

application:

name: 依据生产环境而定

d. 修改数据库地址,用户名,密码

datasource:

url:生产环境数据库地址

username: 数据库用户名

password: 数据库用户密码

e. 修改服端口

server:

port: 依据生产环境而定

4. 修改base.jsp

如果需要对接zull服务则修改base.jsp,注释开发环境,放开生产环境,截图如下:

如果需要对接zull服务修改启动类:

注释掉filterDemo4Registration和businessSystemFilter方法。

截图如下:

5. 修改合约规划提交审批调用地址

SubmitExamineAndApproveImpl类getParameter接口修改为生产地址;

6. 修改合同详情和费用详情查看地址

demoContractParticulars.js 文件第61行,63行,135行,137行上的地址改为生产环境地址;

7. 启动和停止

启动:进入生产环境war包的存放地址输入命令:nohup java -jar CBSJK-0.0.1-SNAPSHOT.war &

停止:输入命令:netstat -nlp|grep 8800然后 kill -9 端口号。杀死当前进程

SOLR中文教程

1/7/2015 版权所有,侵权必究All rights reserved 第1页,共58页Page 1 , Total58

SOLR中文帮助文档

2010-10 1/7/2015 版权所有,侵权必究All rights reserved 第2页,共58页Page 2 , Total58

目 录

1 概述 .......................................................................................................................................... 4

1.1 企业搜索引擎方案选型 ....................................................................................................... 4

1.2 Solr的特性 .......................................................................................................................... 4

1.2.1 Solr使用Lucene并且进行了扩展 ................................................................................... 4

1.2.2 Schema(模式) .......................................................................................................... 5

1.2.3 查询 ............................................................................................................................... 5

logback:root和logger

logback:root和logger

root可以理解为⼀个根节点,⽽其他的logger都可以看做root的⼦节点

所以默认root配置的appender属性logger都是使⽤的,如果不想使⽤可以logger定义时增加属性additivity="false"ps:

因为上述关系,在class类使⽤getLogger("name/class")引⼊logger时,如果"name/class"未在配置⽂件中找到,则默认使⽤root配置

如果匹配到"name/class",则使⽤匹配到的appender配置的输出,同时可⾃⾏选择是否关闭root配置的appender输出

在程序中经常使⽤LoggerFactory.getLogger(Test.class);其实这种最终转换的logger名成就是Test所在包路径+Test。logback会以这种名称在logback.xml中找相匹配的logger

ps:package net.jy.redis.controller.logback;

public class LogbackController { private final static Logger logger = LoggerFactory.getLogger(LogbackController.class);

此处代码省略。。。}

logback.xml

%d[%level]%M:%m%n

此时⽇志输出的内容就是以stdout的appender格式输出

java中log的使用方法

- 1 - java中log的使用方法

在软件开发过程中,日志记录是一项非常重要的任务。在Java中,我们可以使用Log来记录应用程序的运行信息,以便在应用程序出现问题时进行排查和调试。

本文将介绍Java中Log的使用方法,包括Log的基本概念、Log的级别、Log的输出方式、Log的配置以及常见的Log框架。

一、Log的基本概念

Log是指记录应用程序运行过程中的各种信息,包括错误信息、警告信息、调试信息等等。Log记录的信息可以帮助我们在应用程序出现问题时进行排查和调试。在Java中,我们可以使用Java自带的Log API来记录日志信息。

Java中的Log API包括以下几个类:

1. Logger:用于记录日志信息的主要类。可以通过Logger类的静态方法获取Logger实例,然后使用Logger实例记录日志信息。

2. Level:用于指定日志记录的级别。Java中的Log API提供了7个级别,从低到高分别是:ALL、FINEST、FINER、FINE、CONFIG、INFO、WARNING、SEVERE、OFF。

3. Handler:用于指定日志记录的输出方式。Java中的Log API提供了多种Handler,包括ConsoleHandler、FileHandler、SocketHandler等等。

二、 Log的级别

在Java中,日志记录的级别分为7个等级,从低到高分别是ALL、 - 2 - FINEST、FINER、FINE、CONFIG、INFO、WARNING、SEVERE、OFF。不同的级别代表着不同的日志记录方式。

1. ALL:记录所有级别的日志信息。

2. FINEST:记录最详细的日志信息,包括非常细节的信息。

3. FINER:记录比FINEST略低级别的日志信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档