was下log4j设置日志不输出问题
was下log4j设置日志不输出问题
WAS 也是用的 commons-logging 日志框架
commons-logging 确定 LogFactory 实现的顺序是
- 从应用的 META-INF/services/org.apache.commons.logging.LogFactory 中获得 LogFactory 实现
- 从系统环境中获得 org.apache.commons.logging.LogFactory 获得 LogFactory 实现
- 从 classpath 下的 commons-logging.properties 文件中获得 LogFactory 实现
而之所以在 tomcat 下表现良好的 log4j 日志输出放到 was 下不灵了,是因为 was 在第二步截住了,was 有一个系统环境变量 org.apache.commons.logging.LogFactory 的值为 com.ibm.was.commons.logging.TrLogFactory,这个类在 ws-commons-logging.jar 中。
所以我们在使用 commons-logging 时,要能应用到所期望的 LogFactory 实现就要在第一步获得 LogFactory 实现,这就是前面的第二种方法。
而 Logger log = Logger.getLogger(BudgetQryServiceImpl.class) 用直接得到 Log4j 的 Logger 也就是跳开了用 LogFactory 来获得 Logger 的尴尬。
解决办法为:
在目录:
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/properties
增加一个文件名:
commons-logging.properties
内容为
org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.LogFactoryImpl
相关文章:
was下log4j设置日志不输出问题
was下log4j设置日志不输出问题 WAS 也是用的 commons-logging 日志框架 commons-logging 确定 LogFactory 实现的顺序是 从应用的 META-INF/services/org.apache.commons.logging.LogFactory 中获得 LogFactory 实现从系统环境中获得 org.apache.commons.logging.LogFactory…...
小米14系列, OPPO Find N3安装谷歌服务框架,安装Play商店,Google
10月26号小米发布了新款手机小米14,那么很多大家需求问是否支持谷歌服务框架,是否支持Google Play商店gms。因为毕竟小米公司现在安装的系统是HyperOS澎湃OS。但是我拿到手机之后会发现还是开机初始界面会显示power by android,证明这一点他还是支持安装谷歌,包括最近一段时间发…...
Servlet 与Spring对比!
前言: Spring相关的框架知识,算是目前公司在用的前沿知识了,很重要!! 那么以Spring为基础的框架有几个? 以Spring为基础的框架包括若干模块,其中主要的有Spring Framework、Spring Boot、Spring…...
粤嵌实训医疗项目--day03(Vue + SpringBoot)
往期回顾 粤嵌实训医疗项目day02(Vue SpringBoot)-CSDN博客 粤嵌实训医疗项目--day01(VueSpringBoot)-CSDN博客 目录 一、SpringBoot AOP的使用 二、用户模块-注册功能(文件上传) 三、用户模块-注册实现…...
spark3.3.x处理excel数据
环境: spark3.3.x scala2.12.x 引用: spark-shell --jars spark-excel_2.12-3.3.1_0.18.5.jar 或项目里配置pom.xml <!-- https://mvnrepository.com/artifact/com.crealytics/spark-excel --> <dependency><groupId>com.crealytics</groupId><art…...
哪一个更好?Spring boot还是Node.js
前言 本篇文章有些与众不同,由于我自己手头有些关于这个主题的个人经验,受其启发写出此文。虽然SpringBoot和Node.js服务于很不一样的场景,但是这两个框架共性惊人。其实每种语言都有不计其数的框架,但仅仅一部分是真正卓越的。如…...
AD7321代码SPI接口模数转换连接DAC0832输出verilog
名称:AD7321代码12位ADC,SPI接口模数转换连接DAC0832输出 软件:QuartusII 语言:VHDL 代码功能: 使用VHDL语言编写代码,实现AD7321的控制,将模拟信号转换为数字信号,再经过处理后…...
JavaScript_Pig Game切换当前玩家
const current0El document.getElementById(current--0); const current1El document.getElementById(current--1); if (dice ! 1) {currentScore dice;current0El.textContent currentScore;} else {} });这是我们上个文章写的代码,这个代码明显是有问题的&…...
EtherNet Ip工业RFID读写器与欧姆龙PLC 配置示例说明
一、准备阶段 POE交换机欧姆龙PLC 支持EtherNet Ip协议CX-Programmer 9.5配置软件 二、配置读卡器 1、打开软件 2、选择网卡,如果多网卡的电脑请注意对应所接的网卡,网卡名一般为“Network adapter Realtek PCIe GBE Family” 3、点击“选择网卡”&…...
UE5简化打包大小
UE5.3默认空项目带初学者包的打包后1G多 简化思路: 1.不打包初学者包(或者创建时不包括初学者包,跳过第一条) 导航:ProjectSettings->Project->Packaging->Packaging->Advanced->List of maps to incl…...
ThinkPHP8学习笔记
ThinkPHP8官方文档地址:ThinkPHP官方手册 一、composer换源 1、查看 composer 配置的命令composer config -g -l 2、禁用默认源镜像命令composer config -g secure-http false 3、修改为阿里云镜像源composer config -g repo.packagist composer https://mirror…...
NSSCTF做题第9页(2)
[SWPUCTF 2022 新生赛]ez_1zpop <?php error_reporting(0); class dxg { function fmm() { return "nonono"; } } class lt { public $impohi; public $md51weclome; public $md52to NSS; function __construct() { $this-&…...
Rust笔记【1】
元组和解构语法 let tup : (i32, f64, u8) (666, 2.0, 1);let tup (666, 2.0, 1); let (x, y, z) tup;let x tup.0; let y tup.1; let z tup.2;数组类型 数组定义是方括号:[ ] 元组定义是小圆括号:( ) 结构体定义是大括号:{ }…...
代码随想录训练营day3:链表part1
理论 链表的增删操作时间复杂度O(1),查询时间复杂度O(n),因为要从头结点开始。使用场景和数据完全相反 链表的储存地址是不连续的。也和数组不同。 移除链表元素 利用虚拟头结点可以同意操作。不然删除头结点需要额外写。 记得返回的是虚拟头结点的next而不是虚拟头结点retu…...
Bootstrap的咖啡网站实例代码阅读笔记
目录 01-index.html的完整代码02-图片可以通过类 rounded-circle 设置为圆形显示03-<li class"nav-item mt-1 a">中,类mt-1是什么意思?类a又是什么意思?04-href"javascript:void(0);"是什么意思?05-类f…...
2021年06月 Python(二级)真题解析#中国电子学会#全国青少年软件编程等级考试
Python等级考试(1~6级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 执行下列代码后,运行结果是? seq[hello,good,morning] s*.join(seq) print(s)A: hello*good*m…...
FileWriter文件字符输出流
一.概念 以内存为基准,把内存中的数据以字符形式写出到文件中 二.构造器 public FileWriter(Filefile) 创建字节输出流管道与源文件对象接通 public FileWriter(String filepath) 创建字节输出流管道与源文件路径接通 public Filewriter(File file,boolean append) …...
Vue的八个基础命令及作用
1.v-text 作用:获取data数据, 设置标签的内容,以纯文本进行显示v-text 会覆盖 标签中的内容,如果想要拼接数据,可以直接在v-text中拼接如果拼接的是数字:直接使用 “”如果拼接的是字符串,需要使用与外部不同的引号进…...
Log日志详解分析
目录 1、log日志的用途2、log日志级别3、什么时候需要输出日志1. 系统启动参数、环境变量2. 异常捕获处3. 函数获得期望之外的结果时4. 关键操作 4、日志输出的内容5、 注意事项1. 日志信息不明确2. 特殊异常处理3. 日志输出顺序4. 临时调试日志 6、xml文件配置7、linux下查看日…...
【API篇】九、Flink的水位线
文章目录 1、Flink时间语义2、事件时间和窗口3、水位线4、水位线和窗口的工作原理 1、Flink时间语义 事件时间处理时间 举个例子就是,一条数据在23:59:59产生,在00:00:01被处理,前者为事件时间,后者为处理时间。 从Flink1.12版本…...
因果机器学习:提升时序预测鲁棒性的数据驱动与知识融合实践
1. 项目概述与核心价值在数据中心运维、供应链管理、金融风控这些领域,我们每天都在和数据打交道,核心任务就是预测未来。比如,预测服务器机房的温度会不会过热,或者预测下个月的能源消耗成本。传统机器学习模型,像XGB…...
Unity Android读取SD卡图片的5种实战方案与选型指南
1. 为什么在 Unity Android 上“读取 sdcard 图片”会让人反复踩坑? “Unity Android 读取 sdcard 路径下指定文件夹的所有图片”——这句话看似平平无奇,但凡是真正在项目里做过相册预览、本地图库导入、离线资源加载、用户截图归档这类功能的开发者&am…...
ContextMenuManager:Windows右键菜单终极管理指南,让你的电脑效率翻倍
ContextMenuManager:Windows右键菜单终极管理指南,让你的电脑效率翻倍 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 你是否厌倦了Windo…...
7自由度机械臂逆运动学求解:13种算法对比与混合策略实战
1. 项目概述:当机械臂遇到“无限可能”的烦恼在机器人领域,让机械臂的“手”(末端执行器)精准地到达一个指定的位置和姿态,是一个看似简单实则复杂的基础问题,这就是逆运动学。对于常见的6自由度机械臂&…...
SpringBoot+Vue学校课程管理系统源码+论文
代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹 分享万套开题报告任务书答辩PPT模板 作者完整代码目录供你选择: 《SpringBoot网站项目》1800套 《SSM网站项目》1500套 《小程序项目》1600套 《APP项目》1500套 《Python网站项目》…...
医疗AI公平性评估:从数据复杂性到系统任意性的三支柱分析框架
1. 项目概述:当医疗AI遇上公平性拷问在医疗健康领域,机器学习模型正从实验室的“概念验证”阶段,大步迈向临床决策支持的“实战”前线。无论是预测糖尿病风险,还是辅助诊断心脏病,这些算法模型的核心承诺是:…...
软考软件设计师每日备考资料 2026年5月16日(周六) | 距考试仅剩7天(5月23-26日)**
📚 软考软件设计师每日备考资料📅 2026年5月16日(周六) | 距考试仅剩7天(5月23-26日) 🎯 今日主题:考前7天全真模拟卷 答题节奏训练 新考纲AI终极速记 考前一周冲刺计划一、&…...
基于RNN的数字-实体关系抽取:从非结构化文本中提取结构化信息
1. 项目概述与核心价值在信息爆炸的时代,我们每天都会接触到海量的非结构化文本,比如医学文献、金融报告、新闻资讯。这些文本中蕴含着大量有价值的结构化信息,例如“患者平均年龄67.6岁”、“手术成功率为38%”、“公司营收增长15%”。传统上…...
别再傻傻分不清了!用DPABI和Matlab实操,带你搞懂脑影像分析里的ROI和VBM
从零掌握脑影像分析:DPABIMatlab实战ROI与VBM全流程 第一次打开MRI数据时,那种面对海量体素无从下手的感觉,相信每个神经影像研究者都记忆犹新。作为实验室新人,我花了整整三个月才弄明白ROI和VBM这两种基础方法的实操差异——而现…...
【字节跳动】Robix系统的底层技术参数配置
Robix 绝密底层裸数据 无修饰纯技术续档一、地址总线时序剥离源码 void addr_bus_timing_restore(void) {setup_hold_time_clr();strobe_delay_cancel();bus_wait_state_disable();addr_valid_mask_null(); } 总线时序原生参数地址建立保持时间清零 读写选通脉冲延时全部取消 总…...
