动态控制Log4J日志级别,只需要一个JSP页面即可。log4jCtl.jsp如下
<%@ page language= "java" contentType ="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ page import="org.apache.log4j.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="basePath" value="${pageContext.request.contextPath} "/>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title> Log4J级别控制</title >
<style type="text/css" >
/* 超级链接样式 */
a{
text-decoration: none ;
}
a:link {text-decoration :none ;}
a:visited {text-decoration :none;}
a:hover {color : #F60; text-decoration: underline;}
a:active {text-decoration :underline;}
body {
font: normal 11px auto "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
/*color: #4f6b72;
background: #E6EAE9; */
}
#log-table {
padding: 0 ;
margin: 5px 0 ;
}
tr{
background: #F5FAFA ;
}
tr:nth-child(2n) {
background: #fff ;
}
tr{
background-color: expression( (this.sectionRowIndex % 2 == 0) ? "#F5FAFA" : "#fff" );
}
td {
border-right: 1px solid #C1DAD7 ;
border-bottom: 1px solid #C1DAD7 ;
font-size:12px ;
padding: 6px 6px 6px 12px ;
/*color: #4f6b72; */
}
.left-border{
border-left: 1px solid #C1DAD7 ;
}
th {
font: bold 11px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
/*color: #4f6b72; */
border-right: 1px solid #C1DAD7 ;
border-bottom: 1px solid #C1DAD7 ;
border-top: 1px solid #C1DAD7 ;
letter-spacing: 2px ;
/*text-transform: uppercase; */
text-align: center ;
padding: 6px 6px 6px 12px ;
background: #CAE8EA ;
}
/*---------for IE 5.x bug*/
html> body td {
font-size:12px ;
}
</style>
</head>
<body>
<h1> Log4J日志级别控制中心 </h1>
<div>
显示 <a href=" ${basePath}/log4j.jsp?showAll=true"> 所有 Logger</a> | 显示<a href="${basePath} /log4j.jsp?showAll=false" >当前运行的Logger</a >
</div>
<%
String logName = request.getParameter( "log");
if (null != logName) {
Logger log = ( "".equals(logName) ? Logger.getRootLogger() : Logger.getLogger(logName));
log.setLevel(Level.toLevel(request.getParameter( "level"), Level.DEBUG));
}
%>
<c:set var="rootLogger" value="<%= Logger.getRootLogger() %>" />
<form>
<table id= "log-table" cellspacing ="0" >
<tr>
<th class="left-border" >Level</ th>
<th> Logger</th >
<th> Set New Level</th >
</tr>
<tr>
<td class="left-border" >${rootLogger.level}</ td>
<td> ${rootLogger.name}</td >
<td>
<c:forTokens var="level" delims="," items="ALL,TRACE,DEBUG,INFO,WARN,ERROR,FATAL,OFF" >
<a href=" ${basePath}/log4j.jsp?showAll=${param.showAll} &log=&level=${level}">${level}</ a> |
</c:forTokens>
</td>
</tr>
<c:forEach var="logger" items=" ${rootLogger.loggerRepository.currentLoggers}">
<c:if test=" ${!empty logger.level.syslogEquivalent || param.showAll} ">
<tr>
<c:if test=" ${!empty logger.level.syslogEquivalent}">
<td class="left-border" >${logger.level}</ td>
<td> ${logger.name}</td >
<td> <!-- 只有当前已经有实例的Log行能显示出来 -->
<c:forTokens var="level" delims="," items="ALL,TRACE,DEBUG,INFO,WARN,ERROR,FATAL,OFF" >
<a href=" ${basePath}/log4j.jsp?showAll=${param.showAll} &log=${logger.name}&level=${level}"> ${level}</a > |
</c:forTokens>
</td>
</c:if>
<c:if test=" ${empty logger.level.syslogEquivalent}">
<td class="left-border" >----</ td>
<td> ${logger.name}</td >
<td> 此Logger还未实例化运行 </td>
</c:if>
</tr>
</c:if>
</c:forEach>
</table>
</form>
<div>
显示 <a href=" ${basePath}/log4j.jsp?showAll=true"> 所有 Logger</a> | 显示<a href="${basePath} /log4j.jsp?showAll=false" >当前运行的Logger</a >
</div>
</body>
</html>
相关推荐
- chapter4-2-3:[对log4j进行多环境不同日志级别的控制](http://blog.didispace.com/springbootlog4jmuilt/) - chapter4-2-4:[使用AOP统一处理Web请求日志](http://blog.didispace.com/springbootaoplog/) - ...
面临的问题实时日志量非常大, 每天几十亿条日志准时收集, 延迟控制在分钟级别能够水平扩展4.ELK方案缺点运维成本高,每增加一个日志搜集,都需要手动需要修改配置监控缺失,无法准确获取logstash的状态无法做定制化开发...
本商城是在Spring Framework基础上搭建的一个Java基础开发平台,以Spring MVC为模型视图控制器,MyBatis为数据访问层,Apache Shiro为权限授权层,SLF4J+Log4j2为日志管理,Ehcahe对常用数据进行缓存,采用Dubbo...
Log4J | 日志组件 | [http://logging.apache.org/log4j/1.2/](http://logging.apache.org/log4j/1.2/) Swagger2 | 接口测试框架 | [http://swagger.io/](http://swagger.io/) sequence | 分布式高效ID生产 | ...
log4j.properties 日志文件 *.properties配置文件 Struts.xml 配置action WebRoot根目录 fckeditor在线编辑器, images img 图片 upload,updown 上传下载, admin common 前台JSP页面 WEB-INF (lib+jsp+*.xml) ...
log4j.properties 日志文件 *.properties配置文件 Struts.xml 配置action WebRoot根目录 fckeditor在线编辑器, images img 图片 upload,updown 上传下载, admin common 前台JSP页面 WEB-INF (lib+jsp+*.xml) ...
log4j.properties 日志文件 *.properties装备文件 Struts.xml 装备action WebRoot根目录 fckeditor在线编辑器, images img 图片 upload,updown 上传下载, admin common 前台JSP页面 WEB-INF (lib+jsp+*.xml) ...
<artifactId>log4j-slf4j-impl Redis二次封装的这个项目主要实现了自动延期的功能,可以在配置的时候设置某些缓存是否需要自动延期<默认为ture>,自动延期的将会在获取的时候重置 过期时间来达到自动延期功能。...
log4j logback commong logging jdk logger 测试框架 测试框架 junit easymock testng mockito bug管理 禅道 jira 开发工具 编程工具 eclipse myeclipse idea vi VS webstorm sublime text ...
4. 需要防止的故障级别 4 4.1 可接受的数据丢失量 5 4.2 允许用于恢复的时间量 5 4.3 备份和恢复 5 5. 灾难恢复方案 5 5.1 简单备份 6 5.2 备份和日志保留 7 6. 高级存储备份 8 7. 数据库恢复 9 摘要 随着数据库...
公司网络安全能力中心及时跟踪研究业界最新安全动态,持续完善协议安全加固规范; 按照安全加固规范要求,禁用不安全通信协议,支持安全协议及安全配置; 选择业界公认的安全通信协议 11 7 服务器安全技术详解全文共...
4 k9 H# a7 L4 C" C全局目录服务器是一个域控制器,活动目录建立的第一个域控制器自动成为全局目录服务器。全局目录就放在全局目录服务器上。 5 E4 E: a& _- c% ~1 X 4 Z z8 n. F8 D8 @1 `% A/ p% x4 s2.活动目录的...
设备调试:实时日志、命令下发 规则引擎消息转发:支持KAFKA节点、HTTP节点、PREDICATE节点、ROCKET_MQ节点、RABBIT_MQ节点、MYSQL节点、MQTT节点、TOPIC节点、LOG节点 核心技术: 1、采用前后端分离的模式,前端...
--#include file="../admin/log/add_admin_log.asp"-->”的“admin”为您修改后的文件夹名即可。 四、系统说明 YxB2B商务网是易想网络旗下的门户型B2B行业网站系统,采用先进的标签技术和静态生成技术,通过网站...
在 Windows 中,它名为 rar.log,放在 rar.exe 文件相同的目录中。开关 -ilog 允 许改变默认的日志名。 固实压缩的文件列表 - rarfiles.lst ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rarfiles.lst 包含...
带有标签“ env = production”的键“ log_level”可以为生产环境中的所有应用程序日志级别保存值“ INFO”。 带有标签“ env =生产,组件=付款”的键“ log_level”可以为生产环境中的付款服务保存值“ DEBUG”。 ...
平台简介 采用前阶段分离的模式...└──ruoyi-common-core //核心模块│└──ruoyi-common-datascope //权限范围│└ ──ruoyi-common-log //日志记录│└──ruoyi-common-redis //缓存服务│└──ruoyi-common-s
流量控制框架选型 Sentinel。 链路追踪框架选型 Zipkin。 分布式事务框架选型 Seata。 如需单体架构,请移步 。 系统模块 com.lzpeng.minimal ├── minimal-admin // 监控中心 [端口] ├── minimal-common // ...
System_Log 在日志文件中书写格式化消息 System_Launch 运行一个URL 或者外部的可执行文件或数据文件 System_Snapshot 截屏并保存到一个文件 3. 资源函数(Resource functions): Resource_Load 从硬盘上读取资源到...