- 浏览: 797348 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (480)
- Spring (12)
- Hibernate (8)
- Struts2 (4)
- Java 基础-JDK-类-接口-URI-专题研究 (27)
- 线程、线程池、多线程高并发高可用、Socket通信 (15)
- Oracle数据库 (20)
- 一般-前端js-html-其它 (25)
- JYSK-互联网金融、金融科技、支付、公司、新闻等等 (8)
- Ajax-jQuery开源框架 (7)
- Json-轻量级的数据交换格式 (14)
- JavaScript (15)
- Jsp、Servlet、Servlet+JSP+JavaBean开发模式(MVC) (18)
- Html-JavaScript-前端-调用接口 (12)
- Sql Server 2005 (6)
- 正则表达式 (2)
- Java tools (18)
- 加签与验签、加密与解密 (3)
- Ajax技术核心-xmlHttpRequest(简称XHR) (6)
- xml-数据交换格式 (3)
- 信息采集 (1)
- Http - Https - HttpClient - httpCore-SSL-TLS (10)
- HtmlParser (2)
- 标签库 (1)
- SMS (2)
- jxl-导入导出 (4)
- poi-导入导出 (2)
- 定时器Timer+Quartz (6)
- 工作流引擎JBPM3.2.3 (4)
- 工作流引擎JBPM4 (0)
- 数据源-JNDI (0)
- tomcat、weblogic等应用服务器 (6)
- 工作流引擎jbpm5 (1)
- 搜索引擎Lucene (1)
- ant (1)
- 大数据-HBase (2)
- bigtable (0)
- 数据库设计 (4)
- jquery tab (0)
- mybatis (5)
- jquery ui 1.10.3 (5)
- Jboss7 (1)
- 规则引擎drools (0)
- 工作流引擎Activiti5 (0)
- 数据库-用户自定义函数 (0)
- 数据库-存储过程 (2)
- 数据库-视图 (0)
- 数据库-触发器 (0)
- 数据库-sql (2)
- highcharts-图表工具 (1)
- sql server 2008 (6)
- 诗词-工作室 (2)
- 数据割接 (1)
- GIS-地理信息系统 (2)
- RS-遥感技术 (1)
- GPS-全球定位系统 (1)
- java整合flex_RIA开发 (3)
- C#编程语言 (5)
- webservice_axis2_cxf_soap_wsdl (2)
- sql语句 (3)
- Flex_WebService_GIS (25)
- PHP编程语言 (0)
- ExtJS4.2 (1)
- Spring mvc (5)
- EasyUI1.4.2 (16)
- 日期时间工具类 (4)
- 随机数 (1)
- Arcgis api for js (0)
- Mysql数据库 (9)
- 移动互联网 java html5/flash socket netty (0)
- API接口 (1)
- AndroidStudio (0)
- Git (2)
- Maven (5)
- IDEA (0)
- 大数据-Hadoop (2)
- JPA (0)
- Spring boot (4)
- JSF (0)
- nginx_lua_module_redis (2)
- Activiti (1)
- bootstrap (1)
- AngularJS (10)
- 数据库-索引 (1)
- Linux及其连接工具SSH (4)
- java日志管理 (2)
- islider滑动控件 (1)
- jquery (1)
- 异常处理Exception (1)
- 秒杀与类秒杀系统 (1)
- 连接数据库、数据库连接池 (4)
- 数据库-临时表 (1)
- 软件设计模式-单例、多例、代理、工厂、观察者 (3)
- 集合框架 (5)
- 人工智能--Artificial intelligence、神经网络算法、机器学习 (1)
- 分布式应用 (1)
- SOA服务-Dubbo框架-Thrift框架 (2)
- Zookeeper分布式服务框架 (2)
- intellij idea (1)
- python编程语言 (0)
- 消息队列_MQ (0)
- 消息队列_RabbitMQ (2)
- 消息队列_ActiveMQ (1)
- 消息队列_Kafka (2)
- 缓存_Redis (4)
- 缓存_Memcache (0)
- 缓存_Ehcache (0)
- ivy-ivyde (1)
- google-protocol buffers (1)
- 正向代理-正向代理服务器 (1)
- 反向代理-反向代理服务器 (1)
- JVM内存模型 (0)
- Thunder框架 (1)
- NIO-非阻塞式IO (0)
- 软件测试、性能测试 (1)
- 序列化、Serializable接口、Externalizable接口 (3)
- 线程池-ExecutorService-ThreadPoolExecutor (1)
- web.xml (1)
- java开发-java工具-实用工具网站 (6)
- 医疗 (1)
- Filter-过滤器 (2)
- Unicode码-双字节字符编码 (1)
- OpenResty (1)
- 计算机网络 (1)
- eclipse_myeclipse_intellij idea (3)
- Enum (1)
- 大数据--Big Data (1)
- 云计算--Cloud computing (1)
- Elastic-Job (1)
- Redis (2)
- 文件流-IO操作 (6)
- 计算机基础知识 (1)
- Hessian-二进制RPC协议 (1)
- String类 (3)
- BigDecimal类 (1)
- java重要接口 (1)
- ReactJS (1)
- 跨域问题 (0)
- Map (1)
- 注解 (1)
- ASCII码-单字节字符编码 (1)
- 微服务、微服务架构 (2)
- RPC协议、RPC服务、RPC框架 (0)
- java反射 (1)
- java项目之classpath (1)
- 经典算法-树 (1)
- listener-监听器 (1)
- Interceptor-拦截器 (1)
- pojo javabean (2)
- 计算机科学与技术-进阶 (1)
- 代码规范与文档编写 (1)
- UML-统一建模语言 (1)
- 对接微信、支付宝 (3)
- 压力测试 (1)
- 办公软件-Excel (1)
- 办公软件-PPT (0)
- UTF8、GBK编码 (1)
- 微服务架构:Spring Cloud架构-Dubbo架构 (6)
- Nginx (1)
- 点滴业务 (1)
- form表单-json数据-转换与接口调用 (1)
- Junit单元测试 (1)
- 大数据-Spark (1)
- 大数据-Storm (1)
- 数据库事务-Spring事务 (0)
- elasticsearch (1)
- windows (1)
最新评论
引用参考:
【splunk】
--Splunk—云计算&大数据时代的超级日志分析和监控利器
https://blog.csdn.net/enweitech/article/details/51330610
【log4j】
--Log4j日志在java项目中的使用(附工程源码)
https://blog.csdn.net/wushiwude/article/details/54312319
--java web项目中加入log4j
https://blog.csdn.net/whh743/article/details/53584666
--log4j的使用与java中properties配置文件加载
https://blog.csdn.net/u013516035/article/details/41686627
--web.xml中配置log4jConfigLocation属性
https://www.oschina.net/question/920313_2144830
--Spring 中配置log4j日志功能
https://www.cnblogs.com/hapjin/p/5520547.html
--spring中的Log4jConfigListener作用
https://blog.csdn.net/north_easter/article/details/8965296
--log4j(三)——如何控制不同级别的日志信息的输出?
https://www.cnblogs.com/godtrue/p/6442398.html
--设置HttpClient不要打印巨多的日志
https://blog.csdn.net/RO_wsy/article/details/47019347
https://ask.csdn.net/questions/53751
日志前缀:
日志处理类
【SLF4J与Logback简介】
--org.slf4j.Logger
-- 如何启用设置org.slf4j.Logger打印并输出日志
https://blog.csdn.net/qq_26115733/article/details/70560934
//
SLF4J——Simple Logging Facade For Java
它是一个针对于各类Java日志框架的统一Facade抽象。Java日志框架众多——常用的有java.util.logging,
log4j,
logback,
commons-logging,
Spring框架使用的是Jakarta Commons Logging API (JCL)。而SLF4J定义了统一的日志抽象接口,而真正的日志实现则是在运行时决定的——它提供了各类日志框架的binding。
//
Logback是log4j框架的作者开发的新一代日志框架,它效率更高、能够适应诸多的运行环境,同时天然支持SLF4J。
【日志脱敏处理】
【splunk】
--Splunk—云计算&大数据时代的超级日志分析和监控利器
https://blog.csdn.net/enweitech/article/details/51330610
【log4j】
--Log4j日志在java项目中的使用(附工程源码)
https://blog.csdn.net/wushiwude/article/details/54312319
--java web项目中加入log4j
https://blog.csdn.net/whh743/article/details/53584666
--log4j的使用与java中properties配置文件加载
https://blog.csdn.net/u013516035/article/details/41686627
--web.xml中配置log4jConfigLocation属性
https://www.oschina.net/question/920313_2144830
--Spring 中配置log4j日志功能
https://www.cnblogs.com/hapjin/p/5520547.html
--spring中的Log4jConfigListener作用
https://blog.csdn.net/north_easter/article/details/8965296
--log4j(三)——如何控制不同级别的日志信息的输出?
https://www.cnblogs.com/godtrue/p/6442398.html
--设置HttpClient不要打印巨多的日志
https://blog.csdn.net/RO_wsy/article/details/47019347
https://ask.csdn.net/questions/53751
日志前缀:
String logStr=this.getClass().getName()+"."+Thread.currentThread().getStackTrace()[1].getMethodName()+"..."; logger.info(logStr+"调用get方法开始");
日志处理类
import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; private static final Log logger = LogFactory.getLog(HomeController.class); 或 import org.slf4j.Logger; import org.slf4j.LoggerFactory; private static final Logger logger = LoggerFactory.getLogger(HomeController.class); 打印日志方式1: import java.text.MessageFormat; logger.info(MessageFormat.format(logStr+"token={0},url={1},servletPath={2}.",token,request.getRequestURI(),request.getServletPath())); 打印日志方式2: logger.info(String.format("打印日志%s,%s", ss,dd)); 打印日志方式3: slf4j logger.info("interface A001 token= {}", token);
【SLF4J与Logback简介】
--org.slf4j.Logger
-- 如何启用设置org.slf4j.Logger打印并输出日志
https://blog.csdn.net/qq_26115733/article/details/70560934
//
SLF4J——Simple Logging Facade For Java
它是一个针对于各类Java日志框架的统一Facade抽象。Java日志框架众多——常用的有java.util.logging,
log4j,
logback,
commons-logging,
Spring框架使用的是Jakarta Commons Logging API (JCL)。而SLF4J定义了统一的日志抽象接口,而真正的日志实现则是在运行时决定的——它提供了各类日志框架的binding。
//
Logback是log4j框架的作者开发的新一代日志框架,它效率更高、能够适应诸多的运行环境,同时天然支持SLF4J。
【日志脱敏处理】
import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import org.apache.log4j.Logger; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.ValueFilter; /** * 字段脱敏处理 * */ public class Demo { public static Logger logger = Logger.getLogger(Demo.class); private static ValueFilterExtend valueFilterExtend; static{ //需要脱敏的参照规则 String referenceJsonStr = "{\"4,4\":[\"bankCard\",\"idntityCard\"],\"3,5\":[\"mobile\"],\"4,0\":[\"email\"]}"; Map<String, Map<String, Integer>> initReferenceMap = new HashMap<>();//初始化后的参照物map JSONObject jsonObject = JSON.parseObject(referenceJsonStr); String preffixSuffixStr = null; String[] preffixSuffixArray = null;//数组 Map<String, Integer> tempReferenceMap = null;//参照物map //遍历参照物json对象 for (Entry<String, Object> entry : jsonObject.entrySet()) { preffixSuffixStr = entry.getKey(); preffixSuffixArray = preffixSuffixStr.split(","); tempReferenceMap = new HashMap<String, Integer>(); tempReferenceMap.put("preffix", Integer.valueOf(preffixSuffixArray[0])); tempReferenceMap.put("suffix", Integer.valueOf(preffixSuffixArray[1])); for (Object v : (JSONArray)entry.getValue()){ initReferenceMap.put(String.valueOf(v), tempReferenceMap); } } System.out.println("输出initReferenceMap.size()="+initReferenceMap.size()); if(initReferenceMap.size() > 0){ valueFilterExtend = new ValueFilterExtend(initReferenceMap); } } public static void main(String[] args) { JSONObject jsonObject=new JSONObject(); jsonObject.put("bankCard", "32343413412341234234"); jsonObject.put("mobile", "18799998888"); //判断参照物是否存在 Boolean bool=valueFilterExtend.isReferenceObjectMapEmpty(); System.out.println("输出bool="+bool); if(bool){ String str=JSON.toJSONString(jsonObject,valueFilterExtend);//特定属性脱敏处理 System.out.println("输出str="+str); } } /** * * 内部类ValueFilterExtend,实现了com.alibaba.fastjson.serializer.ValueFilter接口 */ static class ValueFilterExtend implements ValueFilter { Map<String,Map<String, Integer>> referenceMap = new HashMap<>(); public ValueFilterExtend() { } ValueFilterExtend(Map<String,Map<String, Integer>> referenceMap) { this.referenceMap = referenceMap; } /** * 判断参照物map是否为空 * @return */ public boolean isReferenceObjectMapEmpty(){ return referenceMap != null && referenceMap.size() != 0; } /** * 重写ValueFilter接口方法process() */ @Override public Object process(Object targetObject, String name, Object value) { System.out.println("调用process方法...targetObject="+targetObject.toString()); String val = String.valueOf(value); Map<String, Integer> map = referenceMap.get(name); return StringUtil.dealString(val, map.get("preffix"), map.get("suffix"), '*');//对字段的前几位和后几位进行脱敏处理 } } }
相关推荐
本资源包含的是关于`SpringMVC`、`Log4j2`、`Logback`以及`Jackson`的日志脱敏实现源码,提供了多种实现方式,旨在帮助开发者在保障信息安全的同时,充分利用日志进行系统分析。 1. **基于正则表达式的日志脱敏实现...
《基于SpringBoot的日志脱敏:Logback与Slf4j的实战应用》 在现代的软件开发中,日志系统是不可或缺的一部分,它为开发者提供了系统运行时的详细信息,帮助排查问题,优化性能。SpringBoot框架以其简洁的配置和强大...
Java日志数据脱敏是为了确保在记录日志时,敏感信息不会被泄露,从而保护用户隐私和企业数据安全。在本文中,我们将探讨如何在Java应用程序中实现这一目标。 首先,理解数据脱敏的重要性至关重要。在处理包含敏感...
最初是为了支持的JSON格式的输出而的,但现在已经演变为针对JSON和其他Jackson数据格式的高度可配置的通用结构化日志记录机制。 输出的结构及其包含的数据是完全可配置的。 内容: 将其包含在您的项目中 Maven风格...
3. **Java日志框架** - Log4j:经典日志框架,提供了灵活的日志配置和多种Appender(如文件、数据库等)。 - Logback:由Log4j作者设计的新一代日志框架,性能优于Log4j。 - SLF4J(Simple Logging Facade for ...
Java日志解决方案是Java开发中不可或缺的一部分,它用于记录应用程序的运行情况,帮助开发者调试代码,定位错误,以及在生产环境中监控系统状态。本篇主要介绍一些基础的日志概念、常用的Java日志框架以及如何有效地...
本压缩包文件提供的是日志处理相关的jar包,包括log4j和slf4j两个流行的Java日志框架。下面将详细介绍这两个框架以及它们在实际应用中的作用。 1. **Log4j**: Log4j是Apache软件基金会的一个开源项目,它为Java...
可以使用日志脱敏技术来保护用户隐私和企业安全。 总的来说,"java种菜源码-Extended-Logging"是一个关于如何实现和使用高级日志记录解决方案的项目,它涵盖了非侵入式设计、日志框架扩展、开源协作等多个方面,...
Java日志是软件开发中不可或缺的一部分,特别是在大型分布式系统中,日志对于问题排查、性能监控和系统审计具有重要作用。本资料"Java日志.zip"包含的资源旨在帮助开发者理解和应用Java日志机制,其中可能涵盖了日志...
SSH(Struts + Spring + Hibernate)是一个经典的Java Web开发框架,而AOP(面向切面编程)是Spring框架的一个核心特性,常用于处理系统中的横切关注点,如日志、事务管理等。本教程将详细讲解如何在SSH框架中利用...
1. **Struts日志实现**:在Struts框架中,通常使用Log4j或SLF4J(Simple Logging Facade for Java)来处理日志。Log4j是早期流行的日志库,提供了丰富的配置选项和输出格式。SLF4J则是一个抽象层,允许用户在运行时...
1. **日志框架选择**:多种日志框架如Java的Log4j、Logback,Python的logging,Node.js的winston等,提供了灵活的日志配置和输出方式。选择合适的日志框架要考虑性能、易用性、社区支持等因素。 2. **日志格式**:...
SLF4J(Simple Logging Facade for Java)是Java平台上的一个日志抽象层,允许最终用户在部署时插入所需的日志框架。本篇将详细介绍3日志规范,以帮助开发者建立高效、可维护的日志系统。 1. **日志级别** - **...
Spring Boot作为流行的Java微服务框架,结合MySQL数据库,可以构建出高效的审计日志功能。本篇将深入探讨"boot项目审计日志功能ideal源码",并解析其中的关键技术和实现方式。 首先,审计日志的主要目的是记录系统...
Java作为一种广泛使用的后端开发语言,提供了丰富的库和框架来处理日志,例如Log4j、SLF4J、Logback等。这些日志框架不仅支持基本的日志记录,还可以进行日志级别控制、日志格式定制、日志输出位置设置等,从而实现...
在Java中,常见的日志框架有Log4j、Logback、SLF4J(Simple Logging Facade for Java)等。这些框架提供了丰富的功能,如日志级别管理、输出格式定制、日志切割、异步日志处理等。例如,Log4j是Apache的一个项目,...
MyBatis支持多种日志实现,如Log4j、Logback和Java内置的日志API。在配置文件中,设置相应的日志实现,并调整日志级别至DEBUG或更高级别,这样就能看到SQL语句和参数信息。 2. **解析日志**:日志信息中包含了SQL...
Log4j2是Log4j的升级版,提供了更加灵活和强大的日志处理能力,包括异步日志、延迟加载、日志脱敏等功能。接下来,将详细介绍SLF4J和Log4j2的配置使用。 ### SLF4J与Log4j2的配合使用 在Spring Boot项目中,可以...
Log4j是Apache组织开发的一款广泛使用的Java日志框架,它为Java应用程序提供了一种灵活且强大的日志记录机制。这个压缩包文件“log4j”很可能包含了Log4j库的核心组件,使得开发者能够在他们的应用中集成日志功能。...
6. **日志封装库**:许多编程语言提供了日志处理的库,如Python的`logging`模块,Java的`java.util.logging`或`logback`,JavaScript的`winston`等。这些库简化了日志的编写和管理,支持自定义日志格式、级别和输出...