Log4J似乎有一个恼人的限制 - 在运行时,变量替换似乎不起作用.
在这个例子中
文件:Log4j.properties
file_pattern =%d {ISO8601}%-5p%m%n
log4j.rootLogger = DEBUG,FileAppender
log4j.appender.FileAppender = org.apache.log4j.FileAppender log4j.appender.FileAppender.layout = org.apache.log4j.PatternLayout log4j.appender.FileAppender.layout.ConversionPattern = $ {file_pattern} log4j.appender.FileAppender.File = log4jtest1.log
log4j.appender.FileAppender.Threshold = ERROR
log4j.properties文件中配置的FileAppender会生成正确的输出:
文件:log4jtest1.log
错误示例错误消息FATAL示例致命消息
如果我尝试在运行时创建FileAppender
import org.apache.log4j.FileAppender;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
public class Main {
static final Logger logger = Logger.getLogger(Main.class);
public static void main(String[] args) throws Exception {
FileAppender appender = new FileAppender();
appender.setFile("log4test2.log");
PatternLayout pl = new PatternLayout("${file_pattern}");
appender.setLayout(pl);
appender.setName("log4jtest2");
appender.setThreshold(Level.ERROR);
appender.activateOptions();
logger.addAppender(appender);
logger.trace("Sample trace message");
logger.debug("Sample debug message"); …Run Code Online (Sandbox Code Playgroud) SSIS非常适合处理所有记录相同的平面文件,但是当有一点复杂性时则不太好.
我想导入一个类似于此的文件 -
Customer: 2344
Name: John Smith
Item Description Price Qty
543455 Widget 1 4.00 2
543556 Widget 2 8.00 1
Run Code Online (Sandbox Code Playgroud)
我想把它变成以下输出 -
2344, John Smith, 543455, Widget 1, 4.00, 2
2344, John Smith, 543556, Widget 2, 8.00, 1
Run Code Online (Sandbox Code Playgroud)
对于我的生活,我找不到一个简单的方法来做到这一点.有没有人有任何建议?或者我需要一个更好的ETL工具?
我最近阅读了一篇关于方程组的复杂黑客的文章,吸烟枪是一个常量,它也出现在JDK 8源代码中,例如ThreadLocal.java
HASH_INCREMENT常量是什么意思,它如何提高性能?
/**
* The difference between successively generated hash codes - turns
* implicit sequential thread-local IDs into near-optimally spread
* multiplicative hash values for power-of-two-sized tables.
*/
private static final int HASH_INCREMENT = 0x61c88647;
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种方法来允许我的 Wicket Web 应用程序的用户将标签文本复制到剪贴板中。
我想检测编码是否正确,但我发现mb_detect_encoding总是得到错误结果,而且我添加了很多encoding_list UTF8 ISO-8859-*....
我在不同的机器上有土耳其特殊字符的问题.以下代码:
String turkish = "?ü?ç?Ü?Ç?";
String test1 = new String(turkish.getBytes());
String test2 = new String(turkish.getBytes("UTF-8"));
String test3 = new String(turkish.getBytes("UTF-8"), "UTF-8");
System.out.println(test1);
System.out.println(test2);
System.out.println(test3);
Run Code Online (Sandbox Code Playgroud)
在Mac上,三个字符串与原始字符串相同.在Windows机器上,三行是(使用Netbeans 6.7控制台打印):
?ü?ç?Ü?Ç?
ğüşçĞÜŞÇı
?ü?ç?Ü?Ç?
Run Code Online (Sandbox Code Playgroud)
我没有遇到问题.
我正在寻找一组指令来在Window 7 64位PC上创建本地多节点Cassandra 2.x集群.
它最好使用CCM"Cassandra Cluster Manager"并允许使用DataStax OpsCenter进行管理
我按照" 轻松实现Windows上的Apache Cassandra入门 "中的说明进行操作,但它们适用于单节点群集.
编辑:我坚持使用CCM在每个节点上部署OpsCenter代理,任何想法?
cluster-computing cassandra windows-7-x64 opscenter cassandra-2.2
喜欢 http:webmail.wipro.com#a:?b;
我想打破这个网址,只将webmail和wipro存储到我的数据库中.任何人都可以帮我解决这个问题.用php.
我将创建一组结构值.条目的数量取决于输入,因此无法估计数组的长度.
在FOR循环中,解析输入,我会为每次迭代创建一个条目.这意味着我需要重新分配数组,因为大小增加,这导致性能效率低下.
如果我被允许用C++编程,我会使用vector.不幸的是我不能,我想不出更好的主意.
请帮助我,任何建议将不胜感激.
java ×4
php ×2
arrays ×1
asp-classic ×1
c ×1
cassandra ×1
clipboard ×1
constants ×1
detection ×1
dynamic ×1
eclipse ×1
encoding ×1
flat-file ×1
import ×1
log4j ×1
opscenter ×1
optimization ×1
parsing ×1
regex ×1
ssis ×1
structure ×1
substitution ×1
turkish ×1
url-parsing ×1
variables ×1
wicket ×1