Java-Java中有水槽吗

Java-Java中有水槽吗,java,null,Java,Null,这是我在编写一个简单的定制Log4j实现(Java)时想到的一个问题 我想制作一个定制的Log4j Appender,这是通过扩展AppenderSkeleton类来完成的。我选择将日志消息写入列表(基本上,append方法会将消息添加到列表中)。我还想有一个接近的选择。由于这是一个简单的实现,我认为close方法可以用Sink/Null引用替换列表引用,这样所有消息都会像这样丢失 然后我想到了这个问题。实际上是否有一个可以在Java中使用的接收器 我所期望的是在Linux中相当于/dev/nu

这是我在编写一个简单的定制Log4j实现(Java)时想到的一个问题

我想制作一个定制的Log4j Appender,这是通过扩展AppenderSkeleton类来完成的。我选择将日志消息写入列表(基本上,append方法会将消息添加到列表中)。我还想有一个接近的选择。由于这是一个简单的实现,我认为close方法可以用Sink/Null引用替换列表引用,这样所有消息都会像这样丢失

然后我想到了这个问题。实际上是否有一个可以在Java中使用的接收器


我所期望的是在Linux中相当于/dev/null,但在应用程序编程级别。

@Henry Apache Commons IO有一个NullWriter和一个NullOutputStream。但是,是的,写自己的东西很容易Andreas

还有一种方法可以从Java(主要是Windows和Linux)中引用操作系统中等效的/dev/null。只需几行代码就可以编写一个子类
OutputStream
,它会忽略您编写的所有内容。标准库中没有此类内容。@Balu如果您只想放弃列表,请这样做(将列表字段设置为null)。“为什么要浪费时间把它写在任何地方?”亨利有一个和一个。但是,编写自己的列表是很容易的。@Andreas将列表设置为null将引发NullPointerException。但是,NullWriter/NullOutputStream工作得很好。这也给了我一个实现自定义输出流或编写器的想法。谢谢