`
miaoge
  • 浏览: 109319 次
  • 性别: Icon_minigender_1
  • 来自: 嘉兴
社区版块
存档分类

【Knowledge】知识问答服务器器(日志操作类)

 
阅读更多
/**
 * 日志类,将用户的操作信息写入日志文件中
 */
public class MyLogger {
	private static int index = 1;

	public static void output(String msg){
		try {
			File file = new File("wp"+index+".log");
			PrintStream ps = new PrintStream(new FileOutputStream(file,true));
			while(file.length()>=1024*1024){
				ps.close();
				//文件大于1M了就压缩
				System.out.println(index+"zip...");
				File[] fs = new File[index];
				for (int i = 0; i < fs.length; i++) {
					fs[i] = new File("wp"+(i+1)+".log");
				}
				zip(fs);
				index++;
				//3个日志文件全部写满,如果大于3个就压缩完后删掉
				if(index>3){
					for (int i = 0; i < fs.length; i++) {
						fs[i].delete();
					}
					index = 1;
				}
				//重新定义输出流
				file = new File("wp"+index+".log");
				ps = new PrintStream(new FileOutputStream(file,true));
			}
			ps.println(msg);
			ps.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * @param fs
	 * 压缩方法
	 */
	public static void zip(File[] fs){
		try {
			InputStream is = null;
			ZipOutputStream zos = new ZipOutputStream(new FileOutputStream("wp.zip"));
			
			for (int i = 0; i < fs.length; i++) {
			    is = new FileInputStream(fs[i]);
				//构建一个条目,并放入压缩输出流中
				ZipEntry ze = new ZipEntry(fs[i].getName());
				zos.putNextEntry(ze);
				
				byte[] buf = new byte[1024];
				int len = 0;
				while((len = is.read(buf))!=-1){
					zos.write(buf,0,len);
				}
				is.close();
			}
			zos.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

 

分享到:
评论

相关推荐

    个人知识管理系统 相关包

    在IT行业中,个人知识管理(Personal Knowledge Management, PKM)是一项至关重要的技能,尤其是在信息爆炸的时代。一个有效的个人知识管理系统可以帮助我们整理、存储、检索和分享知识,提高工作效率,促进个人成长...

    Windows Server 2003搭建流媒体服务器.doc

    Windows Server 2003 搭建流媒体服务器是指使用 Windows Server 2003 操作系统搭建一个流媒体服务器,以提供流媒体服务。在教育教学中,流媒体技术可以非常方便地管理和使用视频资源。流媒体服务器可以提供点播和...

    WAS 6.0.2.9 部署应用使用过滤器问题解决办法

    过滤器是Java EE规范的一部分,它们允许开发人员在请求到达目标Servlet或JSP之前对其进行拦截和处理,或者在响应返回给客户端之后进行操作。在WAS 6.0.2.9中,可能遇到的问题可能涉及到过滤器配置、过滤器链执行顺序...

    solr 笔记

    此外,还定义了一些常量,比如数据导入空闲状态`DATA_IMPORT_IDLE_STATUS`和知识类别父级根节点`KNOWLEDGE_CATEGORY_PARENT_ROOT`。 2. **销毁**:在`@PreDestroy`注解的方法中,进行资源释放操作,确保程序在退出...

    PHP实例开发源码——DSKMS在线培训开源视频管理系统.zip

    中的"PHP实例开发源码——DSKMS在线培训开源视频管理系统"进一步强调了这是一个实际操作的开发案例,它以DSKMS(可能代表“Digital Skills Knowledge Management System”)命名,暗示该系统旨在提升数字技能知识的...

    SCOM如何定制实现全面的应用监控

    #### 知识库 (Knowledge Base) 知识库是SCOM中的一个重要组成部分,用于存储故障诊断和解决方法的信息。当监控系统检测到问题时,会自动搜索知识库中相关的解决方案,并提供给管理员参考。知识库的维护和更新对于...

    C#调用ODI webservice

    ODI中的SKM(System Knowledge Module)是知识模块,它封装了特定数据库的连接信息和操作规则。在这个场景中,我们将探讨如何使用ODI生成的基于Web服务的实时同步接口,并通过WebLogic服务器进行部署,最后用C#编程...

    DB2 出错代码解释

    - 日志分析:检查DB2的日志文件,寻找更多关于错误的上下文信息。 - 调整配置:如果错误与配置有关,如内存限制或连接设置,可以尝试修改相关配置参数。 - 更新或修复:有时,错误可能源于软件bug或版本不兼容,...

    JBoss_Enterprise_BRMS_Platform-5-BRMS_User_Guide-zh-CN

    - **服务器安装**:根据操作系统选择合适的安装包。 - **数据库设置**:配置数据库连接参数,确保数据持久化。 - **安全性配置**:设置登录凭证和其他安全措施。 **3.4 编写规则** 编写规则通常涉及以下几个步骤:...

    WindowsServer2003 KB958644补丁

    “KB”是“Knowledge Base”的缩写,是微软用来标识其技术支持文档编号的方式。KB958644是一个特定的技术支持文章编号,与该补丁相关联,提供了有关此问题的详细信息和解决方案。这个补丁的发布,表明微软已经发现了...

    搭建drools 6.3.0 workbench所需所有jar包

    9. **其他依赖**:Drools 还依赖于许多其他的开源库,如 Commons Lang、SLF4J、Hibernate 等,它们为 Drools 提供了日志、数据持久化和通用工具等功能。 为了成功搭建 Drools 6.3.0 Workbench,你需要确保所有的 ...

    2024年MAD(机器学习、人工智能和数据)产业格局(2).pdf

    - **Enterprise Search / Knowledge Analytics**:企业搜索/知识分析,帮助企业员工快速查找内部文档和知识库信息。 ##### 三十九、商业智能平台 - **BI Platforms**:商业智能平台,用于数据分析和可视化,支持...

Global site tag (gtag.js) - Google Analytics