- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个为个人客户运行的程序。每个客户都有一个帐户代码(我们称之为起始代码)。帐户代码通过命令行参数传递给程序。我收到以下异常返回给我,顺便说一下,这不会导致程序崩溃,它会愉快地进行。我想按客户帐户分离日志记录,这似乎有效。我的日志文件将被创建为“Balancer_990004.log”,并且日志消息肯定会在创建 Balancer_990004.log.7 时建立,但是,并非没有这个异常(exception)。在这个问题上抓我的头。我已经包含了 log4j.properties 位和代码位。
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: (A file or directory in the path name does not exist.)
at java.io.FileOutputStream.openAppend(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:203)
at java.io.FileOutputStream.<init>(FileOutputStream.java:127)
at org.apache.log4j.FileAppender.setFile(FileAppender.java:294)
at org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java:207)
at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:165)
at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:307)
at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:172)
at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:104)
at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:809)
at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:735)
at org.apache.log4j.PropertyConfigurator.parseCatsAndRenderers(PropertyConfigurator.java:639)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:504)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:547)
at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:483)
at org.apache.log4j.LogManager.<clinit>(LogManager.java:127)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
at org.apache.log4j.Logger.getLogger(Logger.java:117)
at Balancer.<init>(Balancer.java:292)
at Balancer.main(Balancer.java:2370)
*** Sample bit from log4j.properties. The name of the Java program in question is "Balancer" ***
log4j.rootLogger=debug, devnull
log4j.logger.Balancer=info, BalancerLog
log4j.appender.BalancerLog=org.apache.log4j.RollingFileAppender
log4j.appender.BalancerLog.File=${balancer.log}
log4j.appender.BalancerLog.MaxFileSize=10000KB
log4j.appender.BalancerLog.MaxBackupIndex=10
log4j.appender.BalancerLog.layout=org.apache.log4j.PatternLayout
log4j.appender.BalancerLog.layout.ConversionPattern=%5p %d [%t] (%F:%L) - %m%n
*** How I'm building my log filename and initializing the Logger ***
public class Balancer {
static Logger log = null;
....
// In constructor...
StringBuilder logName = new StringBuilder("Balancer_");
logName.append(startCode.toString());
logName.append(".log");
// Hopefully in log4j.properties our appender section contains this line:
// log4j.appender.BalancerLog.File=${balancer.log}. This ${} bit means to get a system property to set the log file
// name. We set that system property here, then initialize the Logger object.
System.setProperty("balancer.log", logName.toString());
// This is line 292 in the exception trace.
log = Logger.getLogger(Balancer.class);
最佳答案
如果可以切换到logback,建议使用SiftingAppender相反。这种使用 log4j 的调整是不自然的。
关于java - 动态命名 log4j 日志文件 - 有效,但 setFile() 并非没有异常(exception),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14405212/
我试图让我的输出看起来像这样: size time1 time2 ------------------------------- 10 4
我正在尝试在 Java 中传递一个变量,我需要帮助让它工作,我在下面包含了所有相关代码,我正在使用三个 .java 文件。以下是所有设置的方式以及我需要它的工作方式; 属性.java public e
要点如下:我有一个 getColor 方法和一个 setColor 方法。 getColor 将全局指针 color_obj 更新为当前对象。 setColor 使用该指针来更改对象的颜色。 问题是,
我正在尝试创建一个基于多个文件的程序来读取时间,但我无法以所需的格式显示时间。更具体地说,setfill 似乎给我带来了问题。 这是我在编译时收到的一条很长的错误消息的开头: error: no ma
我试图了解 JavaFX Canvas setStroke 方法的工作原理。它不会将像素的颜色设置为所需的值。不过 setFill 方法没有问题。 Canvas canvas = new Canvas
这个问题已经有答案了: Can we call a method at class level rather than in a method? (3 个回答) 已关闭 3 年前。 我正在启动 Jav
我正在编写一款受康威的“生命游戏”启发的游戏。 虽然我已经弄清楚了整体游戏逻辑(但没有编码),但我仍然无法在玩家的第一个回合结束后更改矩形对象的填充颜色。当我运行我的程序时,它会跳过对玩家一号颜色(C
基本上,我正在尝试通过 setfill 和 setw 创建一个固定表来显示存储在数组中的信息,但是设置宽度似乎没有起作用,我不确定为什么。这是我正在使用的代码: const int MAXWIDTH
我有两个并排的函数,它们循环不断地绘制两个 UIBezierPaths,问题是,它们每个都有不同的颜色,所以我经常需要重申 UIColor.blackColor().setFill() 和 UICol
根据我的理解,setw(n) 通过创建一个宽度为 n 个字符的行为。另一方面,setfill('x') 允许我们打印 n 个 x 个字符。 我想得到两排星星,像这样: ****************
所以我已经解决这个问题一段时间了,在成员的帮助下,我快完成了。我的最后一个问题在上面。 如有必要,我需要将 cout 时间格式化为 01:01:01,但是,我的输出是 1:1:1 问题出在这里: st
Win7 - 64 cygwin Netbeans 7.4 gcc (cygwin) 4.8.3 编译器调用 g++ -Wall -Wno-reorder -Wno-unused-value -c -
在 C++ 中: int main() { cout << setfill('#') << setw(10) << 5 << endl; return 0; } 输出: #######
我有一个现有的代码库,它创建了一个舞台,然后添加了一些图层,并在其中一个图层中绘制了 KineticJS 多边形。现在我需要在用户单击舞台外的元素时更新多边形的背景。 我已经设法获取了舞台细节,然后是
我有一些 Java 代码: public static String getSaveFilePath(String title2) { FileDialog fd = new FileDial
一个简单的 C++ 乘法表。 int main() { int i, j; i = j = 1; for (i; i < 10; i++) { for (j = 1
我不明白为什么这段代码在 drawRect: 中有效: UIBezierPath *buildingFloor = [[UIBezierPath alloc] init]; // draw the s
我很好奇 std::setw 和 std::setfill 的真正返回类型 正如我们所见,它们返回值的数据类型是“未定义”。但是,是否可以声明一个没有返回类型的函数? 在我必须开发一种方法为“cout
所以我知道有很多次我想重置我使用 iomanip 所做的格式更改。我创建了一个类,您可以使用它来获取 ostream 对象的格式,例如用于写入/读取文件的 std::cout 或 fstream 对象
我正在尝试使用 setw 和 setfill 获得以下输出: OPTIONS: The usual operators +, -, *, / and % (remainder)
我是一名优秀的程序员,十分优秀!