我想在我的网络应用中用system.out.println
替换我的所有log.println
,以便不是在Eclipse控制台中插入我的所有日志,而是在apposite文件中插入。我想要这样,因为我已经在tomcat docker容器下部署了我的web应用程序。
经过一些研究后我发现了这个课程:
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
?如何设置我的日志路径?
或..有人能告诉我一个简单的日志类以及如何实现它吗?
答案 0 :(得分:0)
使用Log4j之类的日志库。阅读教程/文档并在代码中实现。不要复制某人的代码然后使用。
您可以查看以下教程,例如: