java中的错误流_如何在Java中更改Saxon的标准错误输出流?
撒克逊人将错误转移到 javax.xml.transform.ErrorListener对象.最初,这些对象中有一个默认对象,它会将异常写入stderr,但是您可以轻松创建新的ErrorListener对象并实现其warning,error和fatalError方法,以将它们发送到自定义日志记录机制.
如何设置新的ErrorListener取决于whether you are using the JAXP interface or the s9api interface.对于JAXP接口,可以在Transformer对象上调用setErrorListener.对于s9api接口,在创建处理器时,XsltCompiler对象或XsltTransformer对象上可以提供Configuration对象上的setErrorListener方法.无论如何,周围有几个.
像这样的东西(s9api):
final PrintStream logFile =
new java.io.PrintStream("errorlog.txt"); // for example
Configuration configuration = new Configuration();
configuration.setErrorListener(new ErrorListener() {
@Override
public void warning(TransformerException exception) throws TransformerException {
exception.printStackTrace(logFile); // or wherever
}
@Override
public void error(TransformerException exception) throws TransformerException {
exception.printStackTrace(logFile);
}
@Override
public void fatalError(TransformerException exception) throws TransformerException {
exception.printStackTrace(logFile);
}
});
Processor proc = new Processor(configuration);
...
如果您不想对程序中的任何内容使用stderr,则最好使用System.setErr在整个程序范围内将其重定向:
System.setErr(new java.io.PrintStream("errorlog.txt"));
它需要一个PrintStream对象,您可以将其包装在任何类型的输出/流中,因此我确定它可以用于您的自定义日志记录机制.
java中的错误流_如何在Java中更改Saxon的标准错误输出流?相关推荐
- java字符串字符排列组合_如何在Java中查找字符串的所有排列
java字符串字符排列组合 In this tutorial, we will learn how to find the permutation of a String in a Java Prog ...
- java 查找链表中间元素_如何在Java中一次性查找Java中链表的中间元素
如何在一次传递中找到LinkedList的中间元素?这是一个 Java 和非Java程序员面试时经常被问到的编程问题.这个问题类似于检查回文或计算阶乘,有时也会要求编写代码.为了回答这个问题,候选人必 ...
- zipfile中怎么关闭流_深入学习JAVA -IO流详解
(一)IO流基本概念 Java对数据的操作是通过流的方式,io是java中实现输入输出的基础,它可以很方便的完成数据的输入输出操作,Java把不同的输入输出抽象为流,通过流的方式允许Java程序使用相 ...
- java 合并两个列表_如何在Java中合并两个列表?
java 合并两个列表 Merging two lists in Java is often a useful operation. These lists can be ArrayLists or ...
- java类添加单元测试代码_如何在java中单元测试时跳过一段代码
如果问题确实是: 如何在Java 然后我给出的答案同意单元测试时,我跳过一段代码.依赖注入,嘲讽框架绝对是真正的单元测试的正确途径. 但是,如果问题是: 使用JUnit(或其他单元测试框架) 然后我想 ...
- java中long如何使用_如何在Java中将long转换为int?
问题 如何在Java中将long转换为int? #1 热门回答(218 赞) 简单类型转换应该这样做: long l = 100000; int i = (int) l; 但请注意,大数(通常大于21 ...
- java注释中添加删除线_如何在Word中添加和删除注释
java注释中添加删除线 Leaving comments in a Word document is a good way to leave feedback on a piece you're r ...
- 在java读字符串入文件_如何在java中将文件读入字符串?
我已经将文件读入String. 该文件包含各种名称,每行一个名称. 现在的问题是我想在String数组中使用这些名称. 为此我写了以下代码: String [] names = fileString. ...
- eval在python中是什么意思_如何在Python中使用eval ?
Python中的 eval是什么? 在Python中,我们有许多内置方法,这些方法对于使Python成为所有人的便捷语言至关重要,而eval是其中一种.eval函数的语法如下: eval(expres ...
最新文章
- @SpringBootTest注解进行单元测试无法运行
- 这几部经典纪录片,竟然还有人没看过?
- Discuz X3.1 论坛修改的方法
- Openlayers 3计算长度和面积
- 如何将QQ内置可爱的表情包转换为通用GIF文件
- 国务院正式发布《新一代人工智能发展规划》
- java作业的提交规范与要求
- phpstudy php56 zend,关于shopex 4.9 php5.6版安装环境问题
- APP在推广之渠道为王(三 )
- 数据基础---《利用Python进行数据分析·第2版》第11章 时间序列
- 【CSP-S2019模拟】09.24比赛总结
- vue实现 导出为word模板
- 别用老派交易员眼光看市场回调
- 津门杯GoOSS和302重定向漏洞
- 安装flashplay的debug版本调试flex
- HW:红队眼中的防守弱点与蓝队应对攻击的常用策略
- BOS开发工具的使用心得
- 怎么把win7换成linux系统软件,win7主题包怎么应用到其他系统比如xp或Linux系统等等...
- 机器学习入门-提取文章的主题词 1.jieba.analyse.extract_tags(提取主题词)
- Android动态设置纯色图标的颜色