打印 application.properties 配置文件中的参数

首先需要引入文件

<property resource="application.properties"/>

然后在使用

<springProperty scope="context" name="serverName" source="spring.application.name"/>
spring.application.name 为 application.properties 文件中的属性

将ip打印到日志

首先编写类 IPConverterConfig

package com.wxx.converter;

import ch.qos.logback.classic.pattern.ClassicConverter;
import ch.qos.logback.classic.spi.ILoggingEvent; import java.net.InetAddress;
import java.net.UnknownHostException; public class IPConverterConfig extends ClassicConverter { @Override
public String convert(ILoggingEvent iLoggingEvent) {
try {
return InetAddress.getLocalHost().getHostAddress();
} catch (UnknownHostException e) {
e.printStackTrace();
}
return null;
}
}

然后在 logback.xml 引用

logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 引入配置文件,获取服务名-->
<property resource="application.properties"/>
<springProperty scope="context" name="serverName" source="spring.application.name"/> <!--配置规则类的位置-->
<conversionRule conversionWord="ip" converterClass="com.wxx.converter.IPConverterConfig" /> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoder的默认实现类是ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
<encoder>
<pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} [%ip] [${serverName}] [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender> <!--logback输出日志到文件(滚动)RollingFileAppender继承了FileAppender-->
<appender name="cusmanage" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>../logs/crm/crm.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>../logs/crm/crm.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>5MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%-20(%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread]) %-5level %logger{80} - %msg%n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender> <root level="DEBUG">
<appender-ref ref="STDOUT" />
</root>
<!--ibatis打印SQL-->
<!-- <logger name="com.ibatis" level="debug" />-->
<!-- <logger name="com.ibatis.common.jdbc.SimpleDataSource" level="debug" />-->
<!-- <logger name="com.ibatis.common.jdbc.ScriptRunner" level="debug" />-->
<!-- <logger name="com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate" level="debug" />-->
<!-- <logger name="java.sql.Connection" level="debug" />-->
<!-- <logger name="java.sql.Statement" level="debug" />-->
<!-- <logger name="java.sql.PreparedStatement" level="debug" />--> </configuration>

logback 中打印自定义参数 (ip 服务名)的更多相关文章

  1. Spring boot中普通工具类不能使用@Value注入yml文件中的自定义参数的问题

    在写一个工具类的时候,因为要用到yml中的自定义参数,使用@Value发现值不能正常注入,都显示为null: yml文件中的自定义格式 调用工具类的时候不能new的方式 要使用@Autowired的方 ...

  2. Logback中如何自定义灵活的日志过滤规则

    当我们需要对日志的打印要做一些范围的控制的时候,通常都是通过为各个Appender设置不同的Filter配置来实现.在Logback中自带了两个过滤器实现:ch.qos.logback.classic ...

  3. XAF 框架中,自定义参数动作(Action),输入参数的控件可定义,用于选择组织及项目

    XAF 框架中,如何生成一个自定义参数动作(Action),输入参数的控件可定义? 参考文档:https://documentation.devexpress.com/eXpressAppFramew ...

  4. SpringMVC中的自定义参数绑定案例

    由于日期数据有很多种格式,所以springmvc没办法把字符串转换成日期类型.所以需要自定义参数绑定.前端控制器接收到请求后,找到注解形式的处理器适配器,对RequestMapping标记的方法进行适 ...

  5. 【C#】往按钮事件中传递自定义参数

    情景:代码动态生成的按钮,需要自定义点击事件.但是生成的点击事件的参数是固定的,如何才能传入自定义的参数? Button btn = new Button() { Content = "这是 ...

  6. Springboot中使用自定义参数注解获取 token 中用户数据

    使用自定义参数注解获取 token 中User数据 使用背景 在springboot项目开发中需要从token中获取用户信息时通常的方式要经历几个步骤 拦截器中截获token TokenUtil工具类 ...

  7. element-ui(或者说Vue的子组件)绑定的方法中传入自定义参数

    比如el-upload中的 :on-success= fn,其实是给组件el-upload传递一个prop,这样写的话fn只能接受upload组件规定的参数,如果想自己传递父组件中的参数比如b,要写成 ...

  8. 如何在element-UI 组件的change事件中传递自定义参数

    以select为例,如果select写在循环里,触发change事件时可能不只需要传递被选中项的值,还要传递index过去,来改变同一循环中的其他标签的状态. 下面这样写是无效的: @change=& ...

  9. logback中打印sql语句

    To log SQL statements for particular mybatis mapper set DEBUG (TRACE to see query parameters and res ...

  10. element-ui组件中的input等的change事件中传递自定义参数

    以select为例,如果select写在循环里,触发change事件时可能不只需要传递被选中项的值,还要传递index过去,来改变同一循环中的其他标签的状态. 下面这样写是无效的: @change=& ...

随机推荐

  1. 0201 为什么 Pytorch 定义模型要有一个 init 和一个 forward,两者怎么区分

    https://www.bilibili.com/video/BV1GB4y1H7hq?spm_id_from=333.999.0.0&vd_source=b1ce52b6eb3a9e6c23 ...

  2. 12 Masked Self-Attention(掩码自注意力机制)

    博客配套视频链接: https://space.bilibili.com/383551518?spm_id_from=333.1007.0.0 b 站直接看 配套 github 链接:https:// ...

  3. KubeSphere 部署向量数据库 Milvus 实战指南

    作者:运维有术星主 Milvus 是一个为通用人工智能(GenAI)应用而构建的开源向量数据库.它以卓越的性能和灵活性,提供了一个强大的平台,用于存储.搜索和管理大规模的向量数据.Milvus 能够执 ...

  4. ToDesk云电脑进军游戏市场,真显卡高性能,新版本可暂停使用时长!

    ToDesk远程控制软件在装机量突破1.5亿后,再度迎来里程碑式的发展.今年,该公司创新推出了云电脑产品,正式涉足云计算领域.这款前沿产品一经发布,便凭借其卓越的性能和使用体验赢得了广大用户的赞誉.近 ...

  5. AI五子棋_05 公钥加解密 10进制转256进制

    AI 五子棋 第五步 恭喜你到达第五步! 我想你一定很艰难,前一步的问题需要大数运算,因为这个算法依赖于质因数分解的复杂度,只有数字相当大时才能保证这个算法难于破解. 这是服务器使用的公钥: 6553 ...

  6. vite 设置网络代理

    参考文档:vite 官网.node-http-proxy 完整示例: export default defineConfig({ server: { proxy: { // 字符串简写写法 '/foo ...

  7. css动画效果(边框线条流动效果)

    1.整体效果 https://mmbiz.qpic.cn/sz_mmbiz_gif/EGZdlrTDJa6FxrVbiamfvb7b0H4qcDzZRwq3PqvXfuMDaPZ44VUic1h2WR ...

  8. React 防抖(Debounce)Hook

    防抖动 (debounce)是常见的需求,那么如何搭配 React Hooks 实现防抖动呢,下面演示两种方案. 方案一 副作用防抖 /** * * @param {React.EffectCallb ...

  9. Linux Shell_read

    介绍 从控制台输入 基本语法 read [选项] 参数 常用选项 |选项|功能| |-|-| |-p|指定读取值时的提示符| |-t|指定取值时等待的时间(秒),如果没有在指定时间输入,就不再等待了| ...

  10. Visual Studio 快速分析 .NET Dump 文件

    前言 在开发和维护 .NET 应用程序的过程中,有时会遇到难以捉摸的性能瓶颈或内存泄漏等问题.这些问题往往发生在生产环境中,难以复现.为了更准确地诊断这些运行时问题,通常会收集应用程序在生产环境中的内 ...