我正在努力使用 Log4J 和 isDebugEnabled() 方法。
当我执行:
package org.test;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
public class Test {
public static Logger logger = Logger.getLogger(Test.class.getName());
public static void main(String[] args) { (new Test()).test(); }
public void test() {
System.out.println("Logger " + logger.getName());
System.out.println("level: " + logger.getLevel());
logger.setLevel(Level.DEBUG);
System.out.println("level: " + logger.getLevel());
System.out.println("debug? " + logger.isDebugEnabled());
}
}
Run Code Online (Sandbox Code Playgroud)
我得到:
Logger org.test.Test
level: null
level: DEBUG
debug? false
Run Code Online (Sandbox Code Playgroud)
记录器级别显然是DEBUG
,但logger.isDebugEnabled()
返回 false。你知道如何解决这个问题吗?
编辑:我尝试过其他版本的 log4j 和Level
演员表,但它没有改变任何东西。
将外部JavaScript库添加到Eclipse项目时,我应该添加.js文件(d3.v2.js),还是从Github中提取的tarballed master?
谷歌告诉我Google.随后的谷歌提醒我需要Google.
目录树:
.
|-build
|---classes
|-src
|-WebContent
|---foo.html
|---META-INF
|---WEB-INF
|-----lib
|---d3
|-----d3.v2.js
Run Code Online (Sandbox Code Playgroud)
从foo.html到d3.v2.js的相对路径应为:"../ d3/d3.v2.js"
要将d3.v2.js"添加"到Eclipse,我执行了以下步骤:
Foo - > New - > JavaScript源文件 - >高级 - >链接到文件系统中的文件 - > /home/tyler/workspace/foo/d3/d3.v2.js
尝试了5条不同的路径.他们都没有工作(你必须使用相对的,绝对的吗?)
因此,我在Eclipse中删除了对d3.v2.js的引用,并尝试添加为库.
Foo - > JavaScript资源 - >添加JavaScript库 - >用户库 - 配置用户库 - >新建 - >"D3" - >添加.js文件 - > d3.v2.js(位置:/ home/tyler/workspace/Snotra/D3
尝试了一堆路径.
我正在开发一个Web应用程序,从几个Web服务中检索数据(假设只有两个简化).必须从一个服务检索的内容不依赖于从另一个服务检索到的内容,因此我可以并行启动AJAX请求.然后,我需要在两个查询都返回其数据后执行某些操作.由于它似乎是非常平常的事情,我想知道是否有一个良好的形式化和公认的设计模式来做到这一点.到目前为止我在做什么(使用jquery):
var data1 = null;
var data2 = null;
$.ajax({
url : url1,
success: function(data) {
data1 = data;
if(data2) perform();
},
});
$.ajax({
url : url2,
success: function(data) {
data2 = data;
if(data1) perform();
},
});
function perform() {
//do interesting stuff on data1 and data2
}
Run Code Online (Sandbox Code Playgroud)
你也喜欢这样吗?