`
yutiansky
  • 浏览: 197499 次
  • 性别: Icon_minigender_1
  • 来自: 本溪
社区版块
存档分类
最新评论

(java入门) MyLog

阅读更多
package net.dncsoft.test;

import java.io.FileWriter;
import java.io.PrintWriter;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class MyLog {

	private static final String logFileName_ = "C:\\tianyu.log";
	private static long lastTimestamp = 0L;
	private static long firstTimestamp = 0L;

	public static synchronized void start() {
		lastTimestamp = new Date().getTime();
		firstTimestamp = lastTimestamp;
		
		try {
			FileWriter writer = new FileWriter(logFileName_, true);
			PrintWriter out = new PrintWriter(writer);

			out.println("-----------------------------------------------------");

			out.close();
			writer.close();
		} catch (Exception localException) {
			localException.printStackTrace();
		}
		
	}

	public static synchronized void log(String p_msg) {
		try {
			long nowTimestamp = new Date().getTime();
			
			FileWriter writer = new FileWriter(logFileName_, true);
			PrintWriter out = new PrintWriter(writer);

			Calendar cal = Calendar.getInstance();
			SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd-hh:mm:ss-SSS");
			DecimalFormat decimalFormat = new DecimalFormat("####");
			
			out.print(dateFormat.format(cal.getTime()) + "\t");
			out.print(decimalFormat.format(nowTimestamp - lastTimestamp) + "\t");
			out.print(decimalFormat.format(nowTimestamp - firstTimestamp) + "\t");
			out.println(p_msg);
			out.close();
			writer.close();

			lastTimestamp = nowTimestamp;
		} catch (Exception localException) {
			localException.printStackTrace();
		}
	}
}

 

 

C#版

 

private readonly object syncLock = new object();
void MyLog(string msg, [System.Runtime.CompilerServices.CallerFilePath] string filePath = "", [System.Runtime.CompilerServices.CallerLineNumber] int lineNumber = 0)
{
	lock (syncLock)
	{
		System.IO.FileStream LogFile = new System.IO.FileStream(@"C:\temp\tian.log.txt ", System.IO.FileMode.Append);
		System.IO.StreamWriter LogStream = new System.IO.StreamWriter(LogFile);
		LogStream.WriteLine(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss-") + lineNumber + ":" + msg);
		LogStream.Close();
		LogFile.Close();
	}
}

分享到:
评论

相关推荐

    java入门之io包

    Java中的IO包是Java平台标准版(Java SE)的核心组件之一,它提供了处理输入和输出的强大功能。在本文中,我们将深入探讨如何使用Java的IO类进行文件操作,理解流的概念,以及如何读写文本和二进制文件。 首先,让...

    MYLOG程序安装包

    "MYLOG程序安装包"是一个专门用于查看本机操作日志的应用程序,由第三方开发者设计。这个工具能够帮助用户监控并记录计算机上的各种操作,包括系统活动、应用程序交互以及用户行为,为用户提供了一种追踪和分析系统...

    java的输入输出

    java输入输出基础知识! 应用程序都需要与外部设备进行数据交换,比如经常需要从键盘输入数据,在文件中读写数据以及在网络上舆数据。输入和输出(I/O)是程序设计语言的一项重要功能,是程序与用户之间沟通的桥梁。...

    Linux下日志类 MyLog

    通过运行`make`命令,我们可以编译这个类的源代码,而执行`./MyLog`后,系统将生成名为`MyLog.log`的日志文件。 首先,让我们深入了解`MyLog`日志类的核心特性: 1. **结构化日志**:`MyLog`可能采用了结构化日志...

    java输入输出

    java输入输出,java中的重难点详解,记得好评哦

    MyLog我的QT日志输出类

    #include "MyLog.h" int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); MyLog log; //OK,本工程带日志功能了,要改输出文件位置、日志格式什么的,进MyLog看看,几行代码随便改 //你的...

    MyLog (Window下DOS重定向)

    一个用于windows 下命令行输出重定向的工具. 有时候我们即需要命令行在shell上有输出, 同时也希望输出能重定向到log 文件中. 在Windows下并没有直接的命令来作这个, 所以我自己写了个小程序.

    myLog4jTest.zip Log4j基本使用详解与应用于Java的实例

    myLog4jTest.zip Log4j基本使用详解与应用于Java的实例

    log打印和分析工具mylog.zip

    mylog 是一个多线程安全、高效、易用性很强的 C/C 库 .只需要一个初始化日志目录以及文件名,你就可以像使用 printf 一样的去打印日志。通过日志可以定位(多线程)请求 ip, logid,执行时间等。 1 说明 1) 本...

    java输入输出流实习题

    要实现`MyLog`类,我们首先需要导入相关的Java I/O库,例如`java.io.File`,`java.io.FileOutputStream`,`java.io.PrintStream`等。`File`类用于表示文件或目录,`FileOutputStream`是字节输出流,用于向文件写入...

    高效的异步日志程序MyLog

    c++写的支持异步写文件的高效日志程序,用共享内存实现可靠性.

    myLog.cs----C# 操作日志类的实现

    myLog.cs----C# 操作日志类的实现

    简化版日志系统mylog

    有感于log4cxx在多线程下的内存泄漏,自个写了个简化版的日志系统,目前只能将日志输出到屏幕。以后再将功能加强点。 使用方法: CMyLogMgr::instance()->setLogLevel...MYLOG_INFO(logger, "Entering application");

    MyLOG:MyLOG用户的公共站点

    【标题】"MyLOG:MyLOG用户的公共站点" 指的是一个名为MyLOG的应用程序的用户共享平台。这个平台可能允许用户存储、管理和分享他们的日志数据,或者是与日志记录相关的各种信息。"MyLOG.app链接" 表示这个应用有一个...

    QtApplets-MyLog日志工程

    【QtApplets-MyLog日志工程】是一个基于Qt框架的应用程序,专注于日志记录功能。这个项目旨在提供一个高效、灵活的日志系统,能够帮助开发者在开发过程中追踪和调试程序的行为。Qt是一个跨平台的C++图形用户界面应用...

    myLog_nginx

    ### 一、标题:“myLog_nginx” - **知识点1:Nginx简介** - Nginx是一款广泛使用的高性能HTTP服务器和反向代理服务器,其特点是高并发处理能力、低内存消耗以及高度可配置性。Nginx通常用于网站托管、负载均衡、...

    java socket查询数据库实现登录验证

    在Java编程领域,Socket通信是一种基础且重要的网络编程技术,常用于实现客户端-服务器应用程序间的双向通信。在这个特定的场景中,我们利用Java Socket来实现一个登录验证系统,该系统会通过查询数据库来验证用户的...

    Mylog逍遥坊博客日志系统 v2.0.rar

    逍遥坊博客系统是由网络收集的一个日志系统修改而来! 本系统不需要数据库的支持!内容完全由txt文本存储-适合初学者! ...本系统模板由[逍遥坊站长]独立开发制作-希望各位在使用的时候能够给个链接!...

    mylog4cplusTest.tar.gz

    log4cplus是一个开源的C++日志框架,它的设计灵感来源于Java的log4j。该库提供了灵活的日志级别控制,支持多种输出目的地(如控制台、文件、网络、数据库等),并且可以进行日志格式的定制。log4cplus的核心概念包括...

Global site tag (gtag.js) - Google Analytics