问题标签 [logfiles]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
735 浏览

database - 使用 LogParser 将 IIS 日志放入数据库时​​使用的替代数据库

我们已经运行了一些脚本,它们使用 LogParser 将 IIS 日志转储到 SQL Server 数据库中。

然后我们可以查询它以获取有关命中、使用等的简单统计信息。将其链接到错误日志数据库和性能计数器数据库以比较使用与错误等时也很好。

仅在一个系统上实现了这一点,在过去的 2-3 周内,我们已经拥有一个 5GB 的数据库,其中包含大约 1000 万条记录。

这使得对该数据库的任何查询都非常缓慢,如果我们继续按原样记录,无疑会导致存储问题。

任何人都可以建议我们可以用于这些数据的任何替代数据库,这些数据库对此类日志更有效吗?我对 Google 的 BigTable 或 Amazon 的 SimbleDB 的任何体验都特别感兴趣。

这些中的任何一个都适合报告查询吗?计数、分组依据、数据透视?

0 投票
5 回答
690 浏览

sql-server - 如何在不增加日志文件的情况下重新加载表?

我有以下场景,每晚使用 SQL Server 2008 中的 SSIS 运行:

  • 创造一些温度。表,并从 ODBC 数据源导入数据
  • 导入完成后,删除现有表并重命名临时表。与删除的表同名的表

我需要在我的 SSIS 作业或 SQL Server 设置中做什么来最小化日志记录?我不想关闭整个数据库的日志记录,因为只有这几个表每晚都会更新。

0 投票
1 回答
1018 浏览

asp.net-2.0 - Log4Net 出错后日志文件变为空白

我想在我的 asp.net 应用程序中使用 Log4Net 并且我做了以下事情:

在 Web.Config 文件中

在 Global.asax

并在 Page_load

我也在我的 BIN 文件夹中添加了参考。

当我运行我的代码时,我得到了预期的错误,并且在我的解决方案资源管理器中使用日志文件创建了新文件夹之后。但是日志文件是空的。

我不知道它为什么会发生,它无法跟踪或记录错误吗?

请帮忙。提前致谢。

0 投票
2 回答
210 浏览

python - python分析2个日志文件

我有 2 个大日志文件。我想查看设备是否在 a 但不在 b 中,反之亦然(排除设备常见的行)文件看起来像这个例子。

04/09/2010,13:11:52,Authen OK,user1,Default Group,00-24-2B-A1-08-88,29,10.1.1.1,(Default),,,,,,13,EAP -TLS,,device1,
04/19/2010,15:35:24,Authen OK,user2,Default Group,00-24-2B-A1-05-EA,29,10.1.1.2,(Default),,, ,,,13,EAP-TLS,,device2,
04/09/2010,13:11:52,Authen OK,user3,Default Group,00-24-2B-A1-08-88,29,10.1.1.3, (默认),,,,,,13,EAP-TLS,,device3,
04/19/2010,15:35:24,Authen OK,user4,Default Group,00-24-2B-A1-05-EA, 29,10.1.1.4,(默认),,,,,,13,EAP-TLS,,device4,

重申一下,我需要设备(字段 [-2])和 IP(字段 [7])用于日志文件 a 但不在 b 中,在 b 但不在 a 中的每个设备

这是我到目前为止所做的,但看起来有点笨重而且非常慢(每个文件大约有 400K 行)。我交叉引用了两次。有人可以建议效率吗?也许我使用了错误的逻辑?

0 投票
1 回答
1052 浏览

sql-server - 是否可以使用 DBCC SHRINKFILE 缩小链接服务器上的日志文件?

我正在链接服务器上将大量数据从一个数据库归档到另一个数据库。我正在从 MS sql server 2000 复制到 MS sql server 2005。这涉及复制数百万条记录,然后删除它们。这一切都是通过动态脚本发生的。我想为此过程合并日志文件的缩小,但我无法让 DBCC SHRINKFILE 为链接服务器工作。这甚至可能吗?

0 投票
2 回答
699 浏览

c# - 使用正则表达式匹配两个特定单词之间的所有内容

我正在尝试使用正则表达式解析 Oracle 跟踪文件。我选择的语言是 C#,但我选择在这个练习中使用 Ruby 来熟悉它。

日志文件有些可预测。大多数行(具体为 99.8%)匹配以下模式:

但是,在日志中的一些地方有很多复杂的查询,由于某种原因,跨越了几行:

截屏

关于这些条目需要指出的两件事是它们似乎会导致日志文件中的某种损坏,因为它们以不可打印的字符结尾,然后突然下一个条目在同一行开始。

由于这显然排除了逐行捕获数据,我认为下一个最佳选择是匹配单词“TIME:”与“TIME:”的下一个实例或文件末尾之间的所有内容。我不确定如何使用正则表达式来表达这一点。

有没有更有效的方法?我需要解析的日志文件将超过 1.5GB。我的意图是规范化这些行,并删除不必要的行,最终将它们作为行插入数据库中以进行查询。

谢谢!

0 投票
1 回答
177 浏览

math - 根据不完整的日志文件部分重新创建类似风险的游戏

我正在尝试重新创建这个征服俱乐部(风险类)游戏:

http://conquerclub.barrycarter.info/ONEOFF/7460216.html

换句话说,我想知道每个时间点谁拥有每个领土,以及他们在该领土上拥有多少军队。我的主要信息来源是游戏日志。笔记:

% 它不在游戏日志中,但所有领土都以 3 名部队开始。

% 由于我们在游戏结束时知道领地拥有者,并且游戏日志中提到了所有拥有者的变化,因此在任何时间点确定领地拥有者都很容易。

% 挑战是在给定时间找到领土上的部队数量。

% 游戏日志提供关于部队部署、增援和征服的信息。

%但是,游戏日志不完整。假设 X 领土攻击 Y 领土没有成功,但在此过程中两个领土都失去了兵力。游戏日志不会提及这一点。

% (一般而言)在给定时间找到一个领土上的确切部队人数可能是不可能的,所以我正在寻找一个范围。

% 我尝试将数据作为一系列不等式提供给 Mathematica,但正如手册警告的那样,计算时间随着不等式的数量呈指数增长。即使有相当少的不等式,它也会挂起。另外,我不相信 Mathematica 是正确的工具。

% 有什么想法吗?另一个例子是: http ://conquerclub.barrycarter.info/ONEOFF/7562013.html

%我知道http://userscripts.org/scripts/show/83035,但只跟踪\所有者,而不是部队人数。

0 投票
1 回答
592 浏览

analytics - 用于衡量搜索爬虫的 Web 日志文件分析软件

我需要分析在我的网站上进行的搜索引擎爬行。有没有一个很好的工具呢?我试过AWStats和Sawmill。但这两者都让我对爬行的了解非常有限。我需要知道一些信息,例如我网站的某个部分中有多少独特/不同的网页在一段时间内被特定的爬虫爬取。

由于其 javascript 跟踪机制,谷歌分析根本不跟踪抓取。

0 投票
5 回答
6525 浏览

mongodb - 存储数百万个日志文件 - 每年大约 25 TB

作为我工作的一部分,我们每年获得大约 25TB 的日志文件,目前它保存在基于 NFS 的文件系统上。有些以 zipped/tar.gz 格式存档,而另一些则以纯文本格式保存。

我正在寻找使用基于 NFS 的系统的替代方案。我查看了 MongoDB、CouchDB。它们是面向文档的数据库这一事实似乎使其成为合适的选择。但是,日志文件内容需要更改为 JSON 才能存储到数据库中。我不愿意做的事情。我需要按原样保留日志文件内容。

至于使用,我们打算放置一个小的 REST API,并允许人们获取文件列表、最新文件以及获取文件的能力。

提议的解决方案/想法需要是某种形式的分布式数据库或应用程序级别的文件系统,其中可以存储日志文件并可以通过添加更多机器来有效地水平扩展。

安库尔

0 投票
4 回答
1741 浏览

vb.net - 如何使用 vb.net 修剪日志文件?

我正在 vb.net 中编写一个简单的应用程序,并且需要将一些信息输出到日志文件以进行诊断。

为了确保日志文件不会变得太大,我需要将它修剪到一定数量的行(比如 5000)。出于性能原因,不必在每次写出日志条目时都进行修剪,也不必进行修剪(例如,如果应用程序过早崩溃)。

但是我不确定修剪它的最佳方法。将整个日志加载到内存中,然后仅重新写入最后 5000 行将起作用,但我确信有一种更清洁、更好的方法可以做到这一点。

任何人都可以建议一种更有效的方法吗?我在 vb.net 相当新,所以代码示例将不胜感激。