admin管理员组文章数量:1566978
2024年2月13日发(作者:)
在slf4j日志文件中加入ip等额外自定义信息的实现
原理:
slf4j(Simple Logging Facade for Java)使用了log4j的规则,在xml配置上基本是与log4j一致的。
通过中创建过滤器filter,在filter指向的类中用slf4j提供的MDC来在过滤链中put入key数据,配合ties中给日志设置的ConversionPattern格式中加入 %X{key} ,即可在日志数据中加入key所对应的value。
过滤器的具体代码:
package ;
import ption;
import ;
import Chain;
import Config;
import tException;
import tRequest;
import tResponse;
import rvletRequest;
import rvletResponse;
import ;
public class Slf4jMdcFilter implements Filter {
public void doFilter(ServletRequest request, ServletResponse response, FilterChain
chain) throws IOException, ServletException {
// 获得客户的网络地址
String ip = oteAddr();
// 把ip地址放入MDC中. 那么在 log4j layout pattern 中通过使用 %X{ip},就可在每条日志之中增加ip地址的信息
("ip", ip);
//继续处理其他的filter链
er(request, response);
// 从MDC的堆栈中删除网络地址
("ip");
}
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse
response, FilterChain filterChain) throws ServletException, IOException {
// TODO Auto-generated method stub
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
}
@Override
public void destroy() {
// TODO Auto-generated method stub
}
}
的具体代码:
ties的具体代码:
sionPattern=[%d] %X{ip} [%t] %-5p [%c]
- %m%n
版权声明:本文标题:在slf4j日志文件中加入ip等额外自定义信息的实现 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1707802791a207706.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论