【问题标题】:Java how to implement a log class that write to a fileJava如何实现写入文件的日志类
【发布时间】:2017-03-22 09:24:40
【问题描述】:

我想在我的网络应用程序中用log.println 替换我所有的system.out.println,以便将我的所有日​​志插入到一个适当的文件中而不是Eclipse 控制台中。我想要那个,因为我已经在 tomcat docker 容器下部署了我的网络应用程序。

经过一番研究,我发现了这个类:

import java.io.PrintWriter;
import java.io.FileOutputStream;
import java.util.Date;


public class Log{

    private SettingsManager settings;
    private String logFile;
    private PrintWriter writer;

    static Log theInstance = null;

    /**
     * Returns the only available instance of this class, if it exists...
     * instantiates and returns it otherwise. LOg file name is retrieved 
     * through the SettingsManager
     * 
     * @return
     */
    public static Log getInstance() {
        if (Log.theInstance == null) {
            Log.theInstance = new Log();
        }
    return Log.theInstance;
    }   

    private Log() {
        this.settings = SettingsManager.getInstance();
        this.logFile = settings.getString("settings.log.filename");
        try {
            this.writer = new PrintWriter(new FileOutputStream(this.logFile, true), true);      
            writer.println("*** Kerberos Logfile ***");
            writer.println(" *** Logging started ***");     
        }catch(Exception ex) {
            ex.printStackTrace();
        }
    }

    public String getLogFile() {
        return this.logFile;
    }

    public void println(String line) {
        writer.println("[" + new Date().toString() + "]" + line);   
    }

}   

好吧,我如何修改这个单例类(我没有名为“SettingsManager”的类)并将我所有的system.out.println 替换为log.println?如何设置我的日志路径?

或者..谁能给我看一个简单的日志类以及如何实例化它?

【问题讨论】:

  • 看来你一开始对很多java基础知识都不是很了解。因此,与其考虑如何编写在 tomcat 中运行的东西……不如花大量时间学习这些基础知识。然后你使用你最喜欢的搜索引擎来搜索像 singleton 这样的词。那里有 的文档...
  • 对不起,我表达得很糟糕。我知道这是一个单例类。我已经编辑了我的答案。

标签: java eclipse logging


【解决方案1】:

使用一些日志库,例如 Log4j。阅读教程/文档并在您的代码中实现。不要完全复制某人的代码然后使用。

您可以查看以下教程,例如:

http://www.vogella.com/tutorials/Logging/article.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-26
    • 1970-01-01
    • 1970-01-01
    • 2020-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多