我从日志文件中获取数据并将其打印出来,但它不像我的代码中的日志文件那样格式化,
try
{
String strpath="/var/new.log";
FileReader fr = new FileReader(strpath);
BufferedReader br = new BufferedReader(fr);
String ch;
do {
ch = br.readLine();
if (ch != null)
out.println( ch+"\n");
} while (ch != null);
fr.close();
}
catch(IOException e){
out.print(e.getMessage());
}
我文件中的数据是这种格式,
[1324649399] Nagios 3.3.1 starting... (PID=3751)
[1324649399] Local time is Fri Dec 23 09:09:59 EST 2011
[1324649399] LOG VERSION: 2.0
[1324649400] ndomod: NDOMOD 1.4b9 (10-27-2009) Copyright (c) 2009 Nagios Core Development Team and Community Contributors
[1324649400] ndomod: Could not open data sink! I'll keep trying, but some output may get lost...
[1324649400] Event broker module '/usr/local/nagios/bin/ndomod.o' initialized successfully.
我的代码是以这种格式打印的,
[1324649399] Nagios 3.3.1开始...(PID = 3751)[1324649399]本地 时间是星期五12月23日09:09:59 EST 2011 [1324649399] LOG VERSION:2.0 [1324649400] ndomod:NDOMOD 1.4b9(10-27-2009)Copyright(c)2009 Nagios核心开发团队和社区贡献者[1324649400] ndomod:无法打开数据接收器!我会继续尝试,但有些输出 可能会迷路... [1324649400]事件经纪人模块 '/usr/local/nagios/bin/ndomod.o'已成功初始化。
如何在日志文件中获取它?
答案 0 :(得分:0)
您只需要正确使用HTML,以正确格式化的输出呈现数据
答案 1 :(得分:0)
想要使用<pre>
标记来保留空格和换行符。您也可以使用JSTL <c:import>
来读取文件内容。
<c:import url="/var/new.log" var="data"/>
<pre>
${data}
</pre>
答案 2 :(得分:0)
如果我建议,这是构造输出日志的循环的更好方法:
String strpath = "/var/new.log", ch;
FileReader fr = null;
try {
fr = new FileReader(strpath);
BufferedReader br = new BufferedReader(fr);
while ((ch = br.readLine()) != null)
out.println(ch);
} catch (IOException e) {
out.print(e.getMessage());
} finally {
if (fr != null)
fr.close();
}
要解决格式问题,请按照其他答案的建议进行操作,然后在<pre></pre>
标记内输出日志