Foxtable(狐表)用户栏目专家坐堂 → [求助]日志表


  共有3208人关注过本帖树形打印复制链接

主题:[求助]日志表

帅哥哟,离线,有人找我吗?
2474842866
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:131 积分:910 威望:0 精华:0 注册:2019/5/19 21:50:00
[求助]日志表  发帖心情 Post By:2019/6/6 10:40:00 [只看该作者]

现在要在软件中新加一个日志功能(点击打开日志表),可以看见所有登录,操作等日志记录。现在如何将生产的日志文件Logs实时同步到日志表呢?
若是上传到sql中也没有办法实时同步啊,请问这个功能如何实现?

 回到顶部
帅哥哟,离线,有人找我吗?
xndd
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:523 积分:4379 威望:0 精华:0 注册:2014/11/26 15:23:00
  发帖心情 Post By:2019/6/6 11:24:00 [只看该作者]

 每次触发登陆、操作时,记录进入日志表

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/6 11:34:00 [只看该作者]

方法一:logs是文本文件吧?你直接把本地的logs文件上传到服务器去(ftp),然后记录每一个客户端的logs文件路径。需要的时候,就打开logs查看内容。

 

方法二:读取logs文件,把内容导入到你的日志表里,参考

 

http://www.foxtable.com/webhelp/scr/2629.htm

 

方法三:不要用logs文件,直接把每个操作记录到表格里面


 回到顶部
帅哥哟,离线,有人找我吗?
2474842866
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:131 积分:910 威望:0 精华:0 注册:2019/5/19 21:50:00
  发帖心情 Post By: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

图片点击可在新窗口打开查看此主题相关图片如下:360截图20190606143504299.jpg
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2019/6/6 14:52:00 [只看该作者]

 

把你的log文件发上来测试。

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
2474842866
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:131 积分:910 威望:0 精华:0 注册:2019/5/19 21:50:00
  发帖心情 Post By:2019/6/6 15:25:00 [只看该作者]

日志log文件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:log.xls



 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:131 积分:910 威望:0 精华:0 注册:2019/5/19 21:50:00
  发帖心情 Post By:2019/6/6 17:28:00 [只看该作者]

是这样的老师,这个合并问题解决了,但是在合并中,重复的数据不会覆盖掉,而是重新再写一遍,这样造成每次读取都从头重写一遍日志,有大量重复的

图片点击可在新窗口打开查看此主题相关图片如下:360截图20190606172631442.jpg
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/6 17:37: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").find("某列='" & 某值 & "' and 某列='" & 某值 & "'")
    If dr Is Nothing Then dr = DataTables("表A").addnew

    dr("第一列") = str(i)
Next


 回到顶部
帅哥哟,离线,有人找我吗?
2474842866
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:131 积分:910 威望:0 精华:0 注册:2019/5/19 21:50:00
  发帖心情 Post By: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
日志文件:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:log.txt



 回到顶部
总数 17 1 2 下一页