最近线上有个需求,将每个服务的多个实例打出的日志在日志名称和内容里增加ip信息,首先当然是先百度(Google)一下,看看实现方式。

  1. 创建一个类继承自ch.qos.logback.classic.pattern.ClassicConverter
  2. 重写convert()方法,在该方法内返回ip信息
public class LogUtil extends ClassicConverter {@Overridepublic String convert(ILoggingEvent event) {String ip = null;try {ip= InetAddress.getLocalHost().getHostAddress();} catch (UnknownHostException e) {logger.error("获取ip异常", e.toString());}return ip;}
}

3.配置logback.xml

<conversionRule conversionWord="ip" converterClass="xxx.xxx.xxx.LogUtil" />

4.在需要显示ip的地方加上:%ip

但是在运行过程中发现在日志文件创建过程中,该配置还没有生效,文件名显示undefined。 所以如果需要在日志文件名中也显示ip等自定义信息,可以实现PropertyDefiner接口或者继承PropertyDefinerBase类,然后重写getPropertyValue()方法即可。

官网介绍:http://logback.qos.ch/manual/configuration.html

public class LogUtil extends PropertyDefinerBase{@Overridepublic String getPropertyValue() {String ip = null;try {ip= InetAddress.getLocalHost().getHostAddress();} catch (UnknownHostException e) {logger.error("获取ip异常", e.toString());}return ip;}
}

然后在logback.xml中的<configuration>中配置即可。

<define name="ip" class=""xxx.xxx.xxx.LogUtil"/>

Logback日志名和日志内容配置增加ip等信息相关推荐

  1. 更换主板后删除旧主板网卡配置的IP地址信息

    更换主板后删除旧主板网卡配置的IP地址信息 为了方便管理,公司域用户客户端一般为固定内网IP,客户端主板更换后,如果没有重装系统的情况下,最好把旧主板的网卡IP信息删除 方法如下: 打开注册表REGE ...

  2. Wireshark配置显示IP地理位置信息

    本章跟大家介绍一下wireshark中IP地理位置信息配置的方法和原理,作为我的专栏<wireshark从入门到精通>中的一篇. 在Wireshark中实用的设置和使用技巧汇总那一章节最后 ...

  3. tomcat日志详解/日志切割

    tomcat的所有日志存放于logs目录下 查看tomcat日志: [root@linux ~]# cd /usr/local/tomcat/logs/ [root@linux logs]# ls h ...

  4. 日志处理(二) 日志组件logback的介绍及配置使用方法(转)

    本文转自:http://www.cnblogs.com/yuanermen/archive/2012/02/13/2348942.html http://www.cnblogs.com/yuanerm ...

  5. spring boot使用logback实现多环境日志配置

    From: https://blog.csdn.net/vitech/article/details/53812137 软件生存周期中,涉及代码运行的环节有编码.测试和维护阶段,而一套成熟的代码,在此 ...

  6. logback日志配置(控制台日志、输出日志、错误日志)

    logback日志配置(控制台日志.输出日志.错误日志) 一.logback.xml相关配置: <?xml version="1.0" encoding="UTF- ...

  7. logback:用slf4j+logback实现多功能日志解决方案

    slf4j是原来log4j的作者写的一个新的日志组件,意思是简单日志门面接口,可以跟其他日志组件配合使用,常用的配合是slf4j+logback,无论从功能上还是从性能上都较之log4j有了很大的提升 ...

  8. Apache的配置与应用【Apache访问控制】以及apache日志管理【日志分割、awstats日志分析】

    Apache的配置与应用以及日志管理 文章目录 Apache的配置与应用以及日志管理 一.Apache连接和访问控制 1.Apache连接 [1]KeepAlive [2]KeepAlive Time ...

  9. syslog详解及配置远程发送日志和远程日志分类

    1.日志协议syslog 1.1.syslog简介 完善的日志分析系统应该能够通过多种协议(包括syslog等)进行日志采集并对日志分析,因此日志分析系统首先需要实现对多种日志协议的解析.其次,需要对 ...

最新文章

  1. “throw”和“throw ex”之间有区别吗?
  2. php文件放到html中,怎么把HTML作为模板放到PHP中
  3. 步步为营:Asp.Net 淘宝通用应用接口攻略
  4. 性能测试知多少--系统计数器与硬件分析
  5. 反射学习4-通过反射机制动态创建和访问数组
  6. es6-promise源码重点分析难点解析
  7. MyEclipse中消除frame引起的“the file XXX can not be found.Please check the location and try again.”的错误...
  8. java泛型解析(转)
  9. 带日期的bean转为json(bean-JSON)
  10. python分类下取得所有子类_如何找到给定名称的类的所有子类?
  11. Redis学习总结(6)——Redis 高级特性与案例学习
  12. Spring5+CXF整合开发REST之一次坑旅
  13. 由alpha matte生成trimap
  14. 有了malloc/free为什么还要new/delete ?
  15. golang中获取公网ip、查看内网ip、检测ip类型、校验ip区间、ip地址string和int转换、根据ip判断地区国家运营商等
  16. 为什么沃伦·巴菲特有那么多的时间去阅读和思考
  17. Springboot+vue项目疫情社区防控系统
  18. Nginx工作原理和优化
  19. 近世代数--陪集--|左陪集|=|右陪集|
  20. ubuntu20.04安装有道词典

热门文章

  1. DebreateForUOS 打包 UOS Electron 应用
  2. C# 获取类的属性名
  3. python小模块----cookie
  4. 阿里云acp认证, 阿里云acp考试介绍
  5. MAC主机eclipse连接parallels内win7虚拟机oracle
  6. java bfs 迷宫例子_51-迷宫(一)- java版dfs和bfs
  7. 多智能体强化学习入门
  8. 密集预测任务的多任务学习(Multi-Task Learning)研究综述 - 网络结构篇(上)
  9. 《鹰猎长空》剖析对当下儿童电影的困境与反思
  10. [个人笔记]python学习01