`
andyaohui
  • 浏览: 54433 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

日志文件解析实例

    博客分类:
  • java
阅读更多
package com.umge.civony.log.file;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ActionLog {
	public static void main(String[] args) throws IOException {
		// copyFile("d:/a.log.old", "d:/b.log");
		new ActionLog();
	}

	private final Pattern p;

	private void parserLine(String str) {
		Matcher m = p.matcher(str);
		if (m.find()) {
			for (int i = 1; i < m.groupCount(); i++) {
				// System.out.println( i + " = " + m.group(i));
			}
		} else {
			if (!str.startsWith("\t") && !str.endsWith("NullPointerException")
					&& str.length() > 10)
				System.out.println(str);
		}
	}

	public ActionLog() throws IOException {
		String regEx = "([\\d]+) ([\\d|:]+) (.+) - (.+)\\((.*)";
		p = Pattern.compile(regEx);

		FileInputStream fi = new FileInputStream("d:/a.log");

		BufferedReader in = new BufferedReader(
				new InputStreamReader(fi, "utf8"), 1000);

		String dataline;
		while ((dataline = in.readLine()) != null) {
			this.parserLine(dataline);
		}
	}

	public static void copyFile(String source, String dest) throws IOException {
		File oldf = new File(source);
		File newf = new File(dest);
		if (oldf.exists()) {

			if (!newf.exists()) {
				File parent = new File(newf.getParent());
				try {
					parent.mkdirs();
				} catch (Exception ex) {
					ex.printStackTrace();
				}
				newf.createNewFile();
			}

			FileInputStream fr = new FileInputStream(oldf);
			FileOutputStream fw = new FileOutputStream(newf);

			byte[] cbuf = new byte[1000];
			int i = 0;
			while ((i = fr.read(cbuf)) != -1) {
				for (int j = 0; j < i; j++) {
					if (cbuf[j] == 13) {
						cbuf[j] = 20;
					}
				}
				fw.write(cbuf, 0, i);
			}
			fw.close();
		}
	}

}
 
分享到:
评论

相关推荐

    ORACLE数据库的日志文件分析.pdf

    ORACLE数据库日志文件分析 ORACLE数据库日志文件分析是关系型数据库管理系统中非常重要的一部分。日志文件是ORACLE数据库的核心组件之一,用于记录数据库的所有操作,包括事务、数据修改、回滚等。日志文件分析是...

    报文日志文件入库实例---XML解析

    理解并熟练运用上述技术,能够有效地解析XML日志文件并将其入库,从而提升系统的监控能力和数据分析能力。对于"FileToXML"这个文件,可能是用于将非XML格式的日志文件转换成XML格式,以便后续处理。具体的实现细节会...

    Caffe日志文件可视化分析

    本文将详细讲解如何使用基于QT和QChart的工具对Caffe日志文件进行可视化分析。QT是一个跨平台的C++图形用户界面库,而QChart是QT库的一部分,用于创建高质量的数据可视化图表。 首先,我们需要理解Caffe日志文件的...

    c++写日志文件类

    2. **构造函数**:初始化日志类实例时,可以设置日志文件的默认路径和初始日志级别。 3. **公共成员函数**: - `open()`:打开或创建指定路径的日志文件。 - `close()`:关闭已打开的日志文件。 - `log(level, ...

    Python计划. 快速入门课件21-实例2-日志文件分析.zip

    "21-实例2-日志文件分析.pdf"很可能是这份教程的PDF文档,其中可能包含了关于如何分析日志文件的步骤、代码示例以及解释。通常,这样的文档会从以下几个方面介绍日志分析: 1. **日志格式解析**:不同的系统和应用...

    C#多服务器多文件上传实例

    通过分析和学习这些代码,开发者可以掌握如何在实际项目中实现多服务器多文件上传的解决方案。 总之,C#多服务器多文件上传实例是一个涉及网络通信、并发处理和分布式系统设计的综合性问题。理解和掌握这个实例,...

    oracle11g监听日志文件过大导致监听无法启动2

    当"Oracle11g监听日志文件过大导致监听无法启动"的问题出现时,通常意味着监听器的日志文件(listener.log)积累了大量的信息,超过了系统设定的限制或者超出可用磁盘空间,从而影响了监听器的正常运行。这个问题...

    C# webservice大文件传输实例源码

    本实例源码提供了一个解决方案,允许用户通过C#编写的WebServcie进行大文件的上传和下载。以下是对这个实例的详细解读: 1. **C# WebService**:C#是一种面向对象的编程语言,广泛应用于.NET框架中。WebService是一...

    flex air记录日志的实例

    本文将深入探讨如何在Flex Air项目中实现日志记录,并提供一个简单的实例。 Flex Air是Adobe开发的一个开放源代码框架,用于创建跨平台的桌面应用程序。它基于ActionScript 3.0,提供了丰富的用户界面组件和强大的...

    txt日志文件读取C#实例

    在这个C#实例中,我们将讨论如何高效地读取txt日志文件,如何对字符串进行切割,以及将处理后的数据保存到SQL Server数据库中。这个过程涉及到C#编程语言的基础知识,以及与数据库交互的技能。 首先,我们需要导入...

    C#写系统日志和写日志文件

    通过使用`EventLog`类,我们可以方便地记录程序运行时的重要事件,而`StreamWriter`则允许我们轻松地将日志信息保存到文件中,供后续分析和调试使用。这些技术是软件开发中不可或缺的部分,可以帮助开发者更好地理解...

    AUTOCAD 文件(dxf格式)解析实例工程源码

    AUTOCAD 文件(dxf格式)解析实例工程源码。 1、带详细注释;2、vs2010 下可重编译运行;3、支持AUTOCAD2004版本dxf文中的直线...6、有详细日志文件,方便查错(注:本实例代码由网上资料,改写而成,并非全部原创!)

    C#异常插入日志文件

    ### C#异常插入日志文件...通过上述分析,我们可以看出,在C#中捕获异常并将其详细信息记录到日志文件中是一项非常实用的功能,对于提高程序的健壮性和维护效率有着重要的意义。希望本文能为读者提供一定的参考价值。

    MFC 写日志文件

    这样,当程序运行时,所有重要的事件和错误都会被记录到日志文件中,方便后期分析和调试。 总结来说,MFC中实现日志功能的关键在于创建合适的目录结构,定义一个自定义的日志类,以及在适当的位置调用写入方法。...

    Schedule asp.net 第三方日志控件 含实例

    它可以直接输出JSON格式,便于日志分析和集成到现代日志分析工具。 在"含实例"的上下文中,这可能意味着这个压缩包包含了一些示例代码或项目,展示了如何在ASP.NET应用程序中集成和使用这些第三方日志控件。这些...

    DB2故障诊断指南,DB2DIAG.LOG日志文件分析

    本指南将深入解析db2diag.log日志文件,帮助你理解和运用其中的信息来解决DB2遇到的问题。 一、db2diag.log概述 db2diag.log日志文件是DB2系统的核心诊断日志,记录了DB2实例的所有关键事件、错误信息以及警告信息...

    Oracle 12c实战日志文件

    通过对Oracle 12c中联机重做日志文件的深入分析,我们了解到了其在数据库运行过程中所扮演的重要角色,以及如何通过合理的管理和配置策略来提高数据库系统的可靠性和性能。正确理解和应用这些知识,对于保障数据库的...

    IIS日志分析工具(按访问页面统计并发数量和耗时)

    IIS日志分析工具通过解析这些日志文件,为企业运维人员提供了宝贵的数据,帮助他们了解网站性能、优化资源分配以及排查问题。 ASP.NET是.NET框架的一部分,它提供了一种用于构建动态Web应用的模型,包括页面生命...

    net跨域实例+日志文件

    在Web开发中,跨域(Cross-Origin)是一个常见的问题,特别是在JavaScript和HTML组成的客户端与.NET WebService这样的服务器端交互时...以上就是关于“net跨域实例+日志文件”的详细解析,希望对你的开发工作有所帮助。

Global site tag (gtag.js) - Google Analytics