stderr java_如何使用Log4j将stdout和stderr写入/捕获到文件并使用Windows和Tomcat 5.5(Java)?...

我正在使用

Windows 2008 R2和Apache Tomcat 5.5,以获取您的信息.

STDOUT和STDERR可以通过Apache Tomcat属性自动记录,通过Logging选项卡 – >重定向Stdout和重定向Stderror文本框.

但我想通过log4j来控制它.

我正在尝试利用ConsoleAppender和TimeAndSizeRollingAppender class来翻转通常由Apache Tomcat的先天日志记录控制的内容.

基本上,但是Tomcat将stdout和stderr重定向到文件,我想使用log4j和log4j.properties文件做同样的事情.

>我如何编译这些类中的任何一个?什么应该是classpath?我尝试从sysgears链接编译该类,但它返回了7个错误,例如无法找到符号Class Logger和符号Class OutputStream.

>编译后,特别是从sysgears链接,我该如何使用该类?它声明要使用该类,只需写:

System.setErr(new PrintStream(new LoggingOutputStream(

System.err,Logger.getLogger(“outLog”),Level.ERROR)));

太棒了,但我在哪里写呢?在一个单独的文件? Tomcat属性?

我将不胜感激任何帮助.

非常感谢您的宝贵时间.

更新:

这是我的完整log4j.properties文件:

log4j.rootLogger=INFO, CATALINA, LOCALHOST, MANAGER, HOST-MANAGER, ADMIN, CONSOLE

# Define all the appenders

log4j.appender.CATALINA=org.apache.log4j.appender.TimeAndSizeRollingAppender

log4j.appender.CATALINA.file=D:/Program Files (x86)/Apache Software Foundation/Tomcat- 5.5.28/logs/catalina.log

log4j.appender.CATALINA.Threshold=DEBUG

log4j.appender.CATALINA.DatePattern='.'yyyy-MM-dd-HH-mm

log4j.appender.CATALINA.layout=org.apache.log4j.PatternLayout

log4j.appender.CATALINA.MaxFileSize=20KB

log4j.appender.CATALINA.DateRollEnforced=true

log4j.appender.CATALINA.MaxRollFileCount=100

log4j.appender.CATALINA.ScavengeInterval=-1

log4j.appender.CATALINA.BufferedIO=false

log4j.appender.CATALINA.CompressionAlgorithm=ZIP

log4j.appender.CATALINA.layout.conversionPattern = %-5p %-23d{ISO8601} [%t] %x: %c{1} - %m%n

log4j.appender.LOCALHOST=org.apache.log4j.appender.TimeAndSizeRollingAppender

log4j.appender.LOCALHOST.file=D:/Program Files (x86)/Apache Software Foundation/Tomcat-5.5.28/logs/localhost.log

log4j.appender.LOCALHOST.Threshold=DEBUG

log4j.appender.LOCALHOST.DatePattern='.'yyyy-MM-dd-HH-mm

log4j.appender.LOCALHOST.layout=org.apache.log4j.PatternLayout

log4j.appender.LOCALHOST.MaxFileSize=20KB

log4j.appender.LOCALHOST.DateRollEnforced=true

log4j.appender.LOCALHOST.MaxRollFileCount=100

log4j.appender.LOCALHOST.ScavengeInterval=-1

log4j.appender.LOCALHOST.BufferedIO=false

log4j.appender.LOCALHOST.CompressionAlgorithm=ZIP

log4j.appender.LOCALHOST.layout.conversionPattern = %-5p %-23d{ISO8601} [%t] %x: %c{1} - %m%n

log4j.appender.MANAGER=org.apache.log4j.appender.TimeAndSizeRollingAppender

log4j.appender.MANAGER.file=D:/Program Files (x86)/Apache Software Foundation/Tomcat-5.5.28/logs/manager.log

log4j.appender.MANAGER.Threshold=DEBUG

log4j.appender.MANAGER.DatePattern='.'yyyy-MM-dd-HH-mm

log4j.appender.MANAGER.layout=org.apache.log4j.PatternLayout

log4j.appender.MANAGER.MaxFileSize=20KB

log4j.appender.MANAGER.DateRollEnforced=true

log4j.appender.MANAGER.MaxRollFileCount=100

log4j.appender.MANAGER.ScavengeInterval=-1

log4j.appender.MANAGER.BufferedIO=false

log4j.appender.MANAGER.CompressionAlgorithm=ZIP

log4j.appender.MANAGER.layout.conversionPattern = %-5p %-23d{ISO8601} [%t] %x: %c{1} - %m%n

log4j.appender.HOST-MANAGER=org.apache.log4j.appender.TimeAndSizeRollingAppender

log4j.appender.HOST-MANAGER.file=D:/Program Files (x86)/Apache Software Foundation/Tomcat-5.5.28/logs/host-manager.log

log4j.appender.HOST-MANAGER.Threshold=DEBUG

log4j.appender.HOST-MANAGER.DatePattern='.'yyyy-MM-dd-HH-mm

log4j.appender.HOST-MANAGER.layout=org.apache.log4j.PatternLayout

log4j.appender.HOST-MANAGER.MaxFileSize=20KB

log4j.appender.HOST-MANAGER.DateRollEnforced=true

log4j.appender.HOST-MANAGER.MaxRollFileCount=100

log4j.appender.HOST-MANAGER.ScavengeInterval=-1

log4j.appender.HOST-MANAGER.BufferedIO=false

log4j.appender.HOST-MANAGER.CompressionAlgorithm=ZIP

log4j.appender.HOST-MANAGER.layout.conversionPattern = %-5p %-23d{ISO8601} [%t] %x: %c{1} - %m%n

log4j.appender.ADMIN=org.apache.log4j.appender.TimeAndSizeRollingAppender

log4j.appender.ADMIN.file=D:/Program Files (x86)/Apache Software Foundation/Tomcat-5.5.28/logs/admin.log

log4j.appender.ADMIN.Threshold=DEBUG

log4j.appender.ADMIN.DatePattern='.'yyyy-MM-dd-HH-mm

log4j.appender.ADMIN.layout=org.apache.log4j.PatternLayout

log4j.appender.ADMIN.MaxFileSize=20KB

log4j.appender.ADMIN.DateRollEnforced=true

log4j.appender.ADMIN.MaxRollFileCount=100

log4j.appender.ADMIN.ScavengeInterval=-1

log4j.appender.ADMIN.BufferedIO=false

log4j.appender.ADMIN.CompressionAlgorithm=ZIP

log4j.appender.ADMIN.layout.conversionPattern = %-5p %-23d{ISO8601} [%t] %x: %c{1} - %m%n

# Configure which loggers log to which appenders

log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=INFO, LOCALHOST

log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager]=\

INFO, MANAGER

log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager]=\

INFO, HOST-MANAGER

log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/admin]=\

INFO, ADMIN

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574342.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

动手制作属于你自己的WIN PE3.0

最近想要更新公司的网Ghost系统,所以小研究一下win pe ,在网上看见一个很不错的教程,在这里分享给大家!并非原创,纯属转载!!O(∩_∩)O~天缘的作品,很是佩服这个哥们啊.....一、WINPE…

java 命令行读取_Java:从控制台(console,命令行)读取字符 | 学步园

/*** 从控制台(console,命令行)读取字符:InputStreamReader(System.in)*/import java.io.IOException;import java.io.InputStreamReader;public class Test{public static void main(String[] args) throws IOException{StringBuffer sql null;sql sqlReaderFrom…

vector初始化

对vector对象来说,直接初始化的方式适用于3种情况:1.初始值已知且数量少;2.初始值是另一个vector对象的副本;3.所有元素的初始值都一样。此外还有一种更常见的情况是4.创建一个vector对象时并不清楚实际所需元素的个数&#xff0c…

python图像处理模糊_Python+OpenCV图像处理之模糊操作

模糊操作是图像处理中最简单和常用的操作之一,该使用的操作之一原因就为了给图像预处理时减低噪声,基于数学的卷积操作均值模糊,函数 cv2.blur(image,(5,5)),这是一个平滑图片的函数,它将一个区域内所有点的灰度值的平…

javascript Date类型 学习笔记

1 创建一个新的日期对象,如果不带参数,则对象自动获得当前的日期和时间 var d new Date() 2 如果需要指定特定的日期,则可以通过Date.parse() 或者 Date().UTC(),返回时间戳作为 new Date()的参数 Date.parse() 用法: var time…

python如何访问私有变量_python – 从类访问私有模块变量

我正在尝试理解python范围规则.为此,我尝试从同一模块中的类访问“非常私有”变量bar "bar"_bar "underscore"__bar "double underscore"def foo():print barprint _barprint globals()["__bar"]print __barclass Foo:def __init__…

高斯消元学习

1. 证明XOR满足交换律,结合律,是自身的逆运算。比如说,1^0 1 1^1 0 0^1 1 0^0 01^1^0 0 1^0^1 0.a^b^ab 即一个数异或两次相当于无效 2. 从N个数中选出两个数,使XOR和最大。解法:我们知道两个数字之间的异或…

java经纬度格式_java经纬度格式转换

在数学中,表示角度的度、分、秒分别使用、′、″符号进行表示。160′,1′60″ ,13600″。由上述可知度分秒转换度的计算公式为:(ddmm′ss″) ddmm/60ss/3600如:11330′10.25″ 11330/6010.25/3600 ≈113.502847度分秒…

Android GPS及地磁传感器 API

Android 提供的位置包括经纬度和时间戳,可选地包含高度和方位,高度以WGS84椭球体为参照,方位以真北为参考。 地磁传感器以磁北为北。有2种传感器可提供方位信息:地磁场(Geomagnetic)传感器和方向&#xff0…

e3是合法浮点数吗_下面4个选项中,均是合法浮点数的选项是?

选B。b中的123是整数,不是浮点数,2e4.2的指数是4.2不满足浮点数的规则必须是整数,e5中的e不满足浮点数的规则,所以b中3个数均不是浮点数。a中的160、0.12是正确的,c中的123e4、0.0是正确的,d中的234、1e3是…

winform 菜单激发窗体切换做法

经常会用到类似于下图这样的winform窗体,其中点击各个菜单时于鏊做到内容窗体的切换,今天也记录一直切换的方法 在主窗体放置一个panal,所有的内容窗体均在改panal上呈现,实现以下方法 ///实例化主窗体 private void FrmSetup_Loa…

java 正则表达式 反向_正则表达式中的数量表示符、反向引用、零宽断言、以及java中的用法...

在表示数量时,如果一个正则表达式X,后面没有加表示数量的符号,那就默认出现一次。如果指定需要出现n次,那就用{n},例如a{n},就是匹配a出现n次的。a{n,}表示a出现至少n次的,而这个时候就会默认是贪婪模式&am…

cocos2d-x Lua与OC互相调用

1. Lua 调用OC 先看例子: hello.lua: -- 点击回调函数local function notifymenuCallbackTest()local luaoc require(luaoc)local ok, ret luaoc.callStaticMethod("RemoteRequestRouter", "notifyWatch", {params1 "NOTIFICATION_TO_H…

coldwallet java eth_wallet-eth 以太坊代币钱包 助记词 私钥 keystore 转账

wallet-eth-androidwallet-eth 以太坊代币钱包 助记词 私钥 keystore 转账(bip39、bip32、bip44、web3j)生成钱包地址// 生成钱包地址Wallet wallet WalletManager.generateWalletAddress();// 根据助记词获取地址WalletManager.generateAddress(wallet.getMnemonic());// 通过…

Uva 10004(二分图的判定)

这题其实很简单的说,第一次用邻接表来存图 首先图的储存结构是结构体head数组。。。其实head数组保存的 struct node {int v;int next; }V[200*200]; 假设现在有u节点,v表示的是和他邻接的点,next保存的是v对应的编号,head数组保…

django配置在MySQL_怎么在Django中安装与配置mysql

怎么在Django中安装与配置mysql发布时间:2021-02-26 17:42:11来源:亿速云阅读:57作者:Leah本篇文章为大家展示了怎么在Django中安装与配置mysql,内容简明扼要并且容易理解,绝对能使你眼前一亮,通…

php 返回数组元素函数_php array_values 返回数组的所有值详解及实例

php array_valuesphp array_values 函数用于返回数组中所有的值,注意该函数将为新数组建立数组索引,原来的文字索引将不存在。本文章向大家讲解array_values函数的基本语法及使用实例。array_values 返回数组中所有的值基本语法:array array_…

0909 粗浅的认识编译原理

经过相关网页的浏览,也看到了各大网站中各方牛人的回答,我似乎对编译原理有了自己一点粗浅的认识。首先,编译原理及技术从根本上来讲就是对算法问题进行求解,这个问题十分复杂,更不用说其解决算法。 而本学期开的算法分…

PHP点歌插件,斗鱼弹幕点歌插件_小葫芦社区_小葫芦插件交流 - Powered by Discuz!

更新版本:3.3.7更新日期:2017-04-25更新日志:1. 修复 部分斗鱼房间无法连接弹幕的问题(主要是参与主播带你嗨购活动的主播)2. 修复 其他已知问题更新版本:3.2.16更新日期:2017-03-01更新日志:1. 修复 斗鱼弹…

Java字符串找出4个字节长度的字符

不解释,直接上代码: 由于Iteye代码贴四个字节的UTF-8字符出错,特能图的方式发布几个特殊字符: Java代码 public class Byte4Check { public static void main…