小编dan*_*rod的帖子

为什么不建议每次都调用LoggerFactory.getLogger(...)?

我已经阅读了很多帖子和文档(在这个网站和其他地方),指出SFL4J日志记录的推荐模式是:

public class MyClass {
    final static Logger logger = LoggerFactory.getLogger(MyClass.class);

    public void myMethod() {
        //do some stuff
        logger.debug("blah blah blah");
    }
}
Run Code Online (Sandbox Code Playgroud)

我的老板更喜欢我们只使用一个包装器来拦截日志调用,并避免使用样板代码来声明每个类的记录器:

public class MyLoggerWrapper {
    public static void debug(Class clazz, String msg){
        LoggerFactory.getLogger(clazz).debug(msg));
    }
}
Run Code Online (Sandbox Code Playgroud)

并简单地使用它:

public class MyClass {

    public void myMethod() {
        //do some stuff
        MyLoggerWrapper.debug(this.getClass(), "blah blah blah");
    }
}
Run Code Online (Sandbox Code Playgroud)

我假设每次我们记录时实例化一个记录器有点贵,但我一直无法找到支持该假设的任何文件.除此之外他肯定说框架(LogBack或Log4J我们仍在决定)将"缓存"记录器,而且无论如何服务器的运行速度都远低于它们的容量,所以这不是问题.

有任何帮助指出这种方法的潜在问题?

java logging log4j logback slf4j

42
推荐指数
8
解决办法
6万
查看次数

将fmt:formatDate输出分配给ac:set变量

我想做这样的事情:

<c:set var="strDate" value="<fmt:formatDate value='${obj.dateIn}' pattern='ddMMyyyy'/>"/>
Run Code Online (Sandbox Code Playgroud)

获取日期为(格式化)字符串并将其分配给变量供以后使用,但它不起作用,有关如何在jsp-jstl中执行此操作的任何想法?

我找到它的唯一方法是为对象java类创建一个"假的"getter,它输出所需的日期作为String usign SimpleDateFormat.format(..),但我认为它不是非常正统并且想要离开底层类单独.

jsp jstl

14
推荐指数
1
解决办法
2万
查看次数

BIRT报告,包含来自POJO数据源的两个或三个深层嵌套表

我需要使用来自各种来源的数据生成Java中的一些按需报告,主要来自针对大型机的同步事务,因此没有数据库后端,因此没有可用的SQL.我将数据作为嵌套java对象的结构,如下图所示:

                     +-----------+
                 __/_|Accounts   |______________
                |  \ |           |              |
                |    +-----------+             /|\
 +---------+    |                          +------------+
 |Customers|____|                          |Transactions|
 |         |    |                          |            |
 |         |    |                          +------------+
 +---------+    |    +-----------+             \|/
                |__/_|Investments|______________|
                   \ |           |
                     +-----------+
Run Code Online (Sandbox Code Playgroud)

客户有一些基本的类型字段,例如id,name,address等,还有一个或两个Account或Investment对象列表,这些列表又有id,name,balance等基本类型字段和Transaction对象列表.你明白了.

例如,一份报告将列出客户的详细信息以及他/她的所有账户和投资及其余额和最新交易.

我一直在用POJO数据源探索BIRT,但是我找不到任何处理两个或三个深度嵌套表/列表的例子.BIRT教程和actuate.com中的示例似乎没有处理这种情况,它们只使用简单对象列表,所以我不确定这可以使用POJO数据源来完成.

有人能指出一个合适的例子或建议替代解决方案吗?

.


PD.我读过的一些文档:

java eclipse reporting nested birt

11
推荐指数
0
解决办法
1409
查看次数

用于学习目的的Java简单开源DHT实现

我正在寻找有关Java 中的分布式哈希表的简单开源实现的建议.没有花哨的功能,仅用于学习目的,不需要生产功能.设置起来应该很简单(例如,1台带有n-JVM的物理机器),并且最好通过一些示例,教程或启动指南进行详细记录.

研究产生了这些候选人:FreePastryOpenChord,但我并不完全相信他们符合我的简单明智标准.

您对这些或其他实施有经验吗?建议?

谢谢和adios

java dht

10
推荐指数
2
解决办法
1万
查看次数

标签 统计

java ×3

birt ×1

dht ×1

eclipse ×1

jsp ×1

jstl ×1

log4j ×1

logback ×1

logging ×1

nested ×1

reporting ×1

slf4j ×1