Eric.Liang 发表于 2018-9-27 10:30:42

帮你打开活字格更神奇的功能:四十五,解决数据操作日志过大无法打开问题

本帖最后由 Eric.Liang 于 2018-9-27 10:31 编辑

可能很多用户在使用了活字格这么久,还不知道活字格数据库本身,是可以去设置显示日志的信息。便于我们观察当前数据库的操作记录。
那么说明你们肯定没有好好的学习我们的帮助手册,关于数据库日志(操作记录)可以参考这里:http://help.grapecity.com.cn/pag ... ion?pageId=12485657
数据库操作日志仅在系统发布之后才会生成,这一点需要大家注意。
生成的路径为:C:\Windows\Temp\活字格数据操作日志
如下图:



除此之外,有的用户反映说,勾选打开了数据库的操作日志,但是因为系统使用时间比较长的原因,会导致生成的日志CSV文件无限变大,最终导致无法打开的问题。
那这个问题该如何解决呢?
我们可以定时(以一周为例)将对应目录下的日志文件移动到其他目录下,以日期+应用名去命名,当固定目录下的CSV文件不存在是,活字格会重新创建日志CSV文件,满七天后继续移动重命名,以此类推,我们可以将一个日志文件按周拆分成多个,当然,如果你想按月拆分也是可以的。这种定时去执行拆分的功能必然要依赖windows原生的计划任务。
具体的操作请一起向下看:


1.因为每个用户想要将日志文件移动的位置不一样,因此,我将移动的路径做成了配置项。请大家在自己的D盘根目录下创建一个txt文件,命名为“活字格数据操作日志存储路径”。如下图:



2.“活字格数据操作日志存储路径.txt”文件中填入移动的路径。如下图:



2.编写移动日志文件的小程序,生成的exe文件见附件。代码如下:using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TimeTask
{
    class Program
    {
      static void Main(string[] args)
      {
            //日志文件原路径
            String path = @"C:\Windows\Temp\活字格数据操作日志";
            //移动路径的TXT配置文件
            String ConfigPath = @"D:\活字格数据操作日志存储路径.txt";

            //遍历读取日志文件原路径下的所有CSV日志文件
            DirectoryInfo folder = new DirectoryInfo(path);
            
            foreach (FileInfo file in folder.GetFiles("*.csv"))
            {
                StreamReader sr = new StreamReader(ConfigPath, Encoding.Default);
                string content;
                while ((content = sr.ReadLine()) != null)
                {
                  //移动当前循环的CSV文件,并以日期+原名保存
                  File.Move(file.FullName, content.ToString()+ "\\" + DateTime.Now.ToString("yyyyMMdd") + file.Name);
                }
               
            }

      }
    }
}

3.打开windows的计划任务,配置对应的计划任务。以WIN10的计划任务配置为例,请参考这里:https://blog.csdn.net/cdnight/article/details/53841921
程序或脚本处选择对应的exe应用程序即可。任务周期可自信设置。



这样我们就再也不用担心日志文件过大导致无法打开的问题了。具体的应用程序见附件。

页: [1]
查看完整版本: 帮你打开活字格更神奇的功能:四十五,解决数据操作日志过大无法打开问题