以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]日志表 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=135929) |
||||
-- 作者:2474842866 -- 发布时间:2019/6/6 10:40:00 -- [求助]日志表 现在要在软件中新加一个日志功能(点击打开日志表),可以看见所有登录,操作等日志记录。现在如何将生产的日志文件Logs实时同步到日志表呢? 若是上传到sql中也没有办法实时同步啊,请问这个功能如何实现?
|
||||
-- 作者:xndd -- 发布时间:2019/6/6 11:24:00 -- 每次触发登陆、操作时,记录进入日志表 |
||||
-- 作者:有点甜 -- 发布时间:2019/6/6 11:34:00 -- 方法一:logs是文本文件吧?你直接把本地的logs文件上传到服务器去(ftp),然后记录每一个客户端的logs文件路径。需要的时候,就打开logs查看内容。
方法二:读取logs文件,把内容导入到你的日志表里,参考
http://www.foxtable.com/webhelp/scr/2629.htm
方法三:不要用logs文件,直接把每个操作记录到表格里面 |
||||
-- 作者:2474842866 -- 发布时间:2019/6/6 14:36:00 -- 对的,我用方法二,写入本地日志记录,但是写入第二行会报错,代码如下: \'定义变量保存文本内容 Dim s As String = FileSys.ReadAllText("e:\\log.xls") s=s.Replace(vblf," ") Dim str() As String = s.Split(vbcr) \'循环写入日志 For i As Integer = 0 To str.Length - 1 Dim ss() As String = str(i).Split(vbtab) If True Then Dim dr As DataRow = DataTables("表A").AddNew() dr("第一列") = ss(i) End If Next |
||||
-- 作者:有点色 -- 发布时间:2019/6/6 14:52:00 --
把你的log文件发上来测试。
|
||||
-- 作者:2474842866 -- 发布时间:2019/6/6 15:25:00 -- 日志log文件 |
||||
-- 作者:有点甜 -- 发布时间:2019/6/6 15:36:00 -- Dim s As String = FileSys.ReadAllText("d:\\log.xls") s=s.Replace(chr(10),"") Dim str() As String = s.Split(chr(13)) \'循环写入日志 For i As Integer = 0 To str.Length - 1 Dim dr As DataRow = DataTables("表A").AddNew() dr("第一列") = str(i) Next |
||||
-- 作者:2474842866 -- 发布时间:2019/6/6 17:28:00 -- 是这样的老师,这个合并问题解决了,但是在合并中,重复的数据不会覆盖掉,而是重新再写一遍,这样造成每次读取都从头重写一遍日志,有大量重复的 |
||||
-- 作者:有点甜 -- 发布时间:2019/6/6 17:37:00 -- 加入代码判断是否重复,即可,如
Dim s As String = FileSys.ReadAllText("d:\\log.xls") |
||||
-- 作者:2474842866 -- 发布时间:2019/6/9 10:17:00 -- 老师,我已经对代码修改了,但是加完判断之后我的日志表报错,超出索引界限,而且也没有筛选成功。 代码如下: Dim s As String = FileSys.ReadAllText("e:\\log.txt") s=s.Replace(vblf,"") Dim str() As String = s.Split(vbcr) \'循环写入日志 For i As Integer = 0 To str.Length - 2 Dim ss() As String = str(i).Split(vbtab) Dim dr As DataRow = DataTables("日志表").find("时间 = \'" & ss(0) & "\' and 用户名 = \'" & ss(1) & "\' and 记录 = \'" & ss(2) & "\'") If dr Is Nothing Then dr = DataTables("日志表").AddNew() If ss.Length = 3 Then dr("时间") = ss(0) dr("用户名") = ss(1) dr("记录") = ss(2) End If End If Next 日志文件:
|