-1

I want to log failed entry in a text file.

 }else System.out.println("not found!");    

 //Enter entry(log it) in a txt file.

How should I go about doing this simply without creating a method?

EDIT:I mean if method is better, then suggestions?

4

4 回答 4

5

最好的办法是建立一个日志框架。你有JULlog4jcommons-loggingslf4j等作为选项。相对于我可以看到您想要花费的时间而言,这将需要很长时间,但这将是一项很好的投资,并且是“这样做的正确方法”。顺便说一句,我推荐 slf4j 而不是其他人。

也就是说,您要求一种简单的方法来执行此操作而无需创建方法。您可以为此使用FileUtils.writeStringToFile 。这是一个按照您想要的方式工作和编译的示例,您只需要确保 FileUtils 在您的类路径中:

package com.sandbox;

import org.apache.commons.io.FileUtils;

import java.io.File;
import java.io.IOException;

public class Sandbox {

    public static void main(String[] args) {
        try {
            FileUtils.writeStringToFile(new File("out.txt"), "not found!", "UTF8");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
于 2013-06-11T17:39:35.223 回答
2

您可以使用许多可用的日志记录框架之一,例如http://logging.apache.org/log4j/1.2/

于 2013-06-11T17:39:00.660 回答
1

如果您不想下载任何外部日志框架,您可以使用包包描述中的 java 默认java.util.logging日志框架

要登录文件,您必须设置适当的处理程序。

Handler handler = new FileHandler("logHerePath.log", LOG_SIZE, LOG_ROTATION_COUNT);
Logger.getLogger("").addHandler(handler);
于 2013-06-11T18:06:11.413 回答
0

如果可能在环境等中,您可以使用记录条目的打印机制作一个简单的单例模式。

然后它只有1个电话。

MyLogger.log("my entry\n");
于 2013-06-11T17:41:19.497 回答