大家好,才是真的好。最近,又有一个好消息来了,那就是注册成为HCL商业合作伙伴的企业,可以No FEE(免费)下载HCL软件,用以满足合作伙伴自身开发、市场、销售和使用等方面的需求。如下图:
就这么一点内容如果发布为一篇文档,估计很多人要打我,所以我们再多奉送一点内容,那就是来讲讲技术。
随着B/S应用越来越多,一些需求也逐渐浮出水面,比如记录浏览器或终端用户访问的各种信息——这些信息我们都能获取到,关键要看您愿意为此投入多少。
Domino服务器上有一个专门的Web日志文件domlog.nsf,如果你没找到,那也没关系,因为默认它是不开启的,因为一旦开启,日志就像洪水野兽一样地汹涌而来。随着用户和应用的增多,您的服务器资源很可能就陷入日志的汪洋大海中,不能自拔。
好了,我们说了这么多,并不是来吓唬大家,而是告诉大家如何面对这个局面。首先,我们要知道如何开启domlog.nsf日志,其次,可以为domlo.nsf添砖加瓦,最后,我们还要为domlog.nsf日志长期正常运行做点事情。
一、开启Domino中的Web日志domlog.nsf
开启Web日志很简单,Web日志可以记录到text文本,也可以记录到NSF数据中。本例记录到nsf数据,即domlog.nsf中。找到服务器文档,找到如下图所示位置:
往下拉,找到“Enable Logging To”区段下的Domlog.nsf一栏中中,将之开启,即设置为“Enabled”,如下图:
在服务器上输入tell http refresh(你也可以等上3-5分钟)。
这样系统就会自动建立domlog.nsf日志数据库,如下图:
这样Web日志就开启了。
2、让domlog.nsf显示需要显示的信息
domlog.nsf记录的信息虽然很多,但有些人要的就是格外不同,比如说他想知道用户从什么平台(Windows、MacOS、Android等)、用什么浏览器访问的,这里虽然有记录,但不直观。
是时候发挥Domino中文档库可定制的优势了。对的,我们可以domlog.nsf中按照自己想要的样式进行定制,比如我们自己建个视图。办法是打开domlog.nsf数据,然后按照如下图所示办法:
保存并定制
双击第一列,输入名称(Title),本例为Platform&Browers,而后选择“Show twistie when row is expandable",然后选择一种图标(本例为$PlusMinus.gif),如下图
在第二列中选择“Categorized”,如下图:
最关键的是写公式,代码如下:
OS_Major:=@If(
@Contains(UserAgent;"Tablet PC"); "Tablet PC";
@Contains(UserAgent; "Windows"); "Windows";
@Contains(UserAgent;"Macintosh"); "Mac";
@Contains(UserAgent;"X11"); "Linux";
@Contains(UserAgent;"iPhone"); "iPhone";
@Contains(UserAgent;"iPad"); "iPad";
(@Contains(UserAgent;"Darwin") & @Contains(UserAgent;"x86_64")); "Mac";
(@Contains(UserAgent;"Darwin") & @Contains(UserAgent;"MobileSafari")); "iOS";
@Contains(UserAgent;"iPhone"); "iPhone";
@Contains(UserAgent;"Android"); "Android";
"-Other-");
Browser_Major:=@If(
@Contains(UserAgent;"Firefox"); "\\Firefox\\" + @Middle(UserAgent; "Firefox/";".");
@Contains(UserAgent; "MSIE"); "\\Internet Explorer\\IE " + @Middle(UserAgent; "MSIE ";".");
@Contains(UserAgent; "rv:11"); "\\Internet Explorer\\IE 11";
@Contains(UserAgent; "Edge"); "\\Edge\\" + @Middle(UserAgent; "Edge/";".");
@Contains(UserAgent;"OPR"); "\\Opera\\" + @Middle(UserAgent; "OPR/";".");
@Contains(UserAgent;"Chrome"); "\\Chrome\\" + @Middle(UserAgent; "Chrome/";".");
@Contains(UserAgent;"MobileSafari"); "\\MobileSafari\\" + @Middle(UserAgent; "MobileSafari/";".");
@Contains(UserAgent;"Safari"); "\\Safari\\" + @Middle(UserAgent; " Safari/";".");
@Contains(UserAgent;"BeagleSearchEngine"); "";
"-Other-");
OS_Major+Browser_Major
这样就可以记录操作系统(设备)和浏览器等,我们的数据比较少,如下图:
当然,你也可以参考一下别人的效果:
3、domlog.nsf维护
随着用户访问记录的积累,domlog.nsf数据库会变得特别大,占用资源不说,而且打开也特别慢,所以不要把所有数据都记录着,要舍得删除一些过期的日志(你也可以不断备份)。办法很简单,找到数据库属性,在第一个选项卡中,点击“Replication Settings”,如下图:
在出现的对话框中选择“Space Savers”,然后勾上“Remove documents not modified in the last (days)”,然后设置一个天数,比如30天,这样就会自动删除10天以上的日志(为啥会这样,请参见帮助说明)
好了,至此就结束了。希望今天的内容对大家有用。请继续保持关注吧。
更多精彩内容请关注微信公众号“协作者”