java 日志接口怎么写? 考虑高并发

java 日志接口怎么写? 需要考虑高并发,web容器和数据库基本动不了吧,代码怎么写更好些?

默认情况下 如log4j都是有buffer的 满了之后批量写 而且写线程只有一个?

不知道你说的高并发 是怎么个高并发 多高?
如果你要提高性能,无外乎:1、分开写(即不同的内容写到不同的日志) 2、批量写 即不要每次都写文件 而是成批的 3、提升硬件

可以考虑用jms把日志单独发送到一个消息系统,消息系统采用apache activeMQ来实现,web系统只管往外发送日志的jms,消息系统负责日志的写,每次从日志队列中获取日志批量保存到数据库,日志表可以每天一张表,免得数据量过大影响插入速度。

我是采用Netty + zookeeper + (hadoop、oracle、*.log) 的方式来实现的日志系统。单Server一天可以发送240G日志。马上要上线了