我正在尝试在C#应用程序中实现MS LogParser。这样可以很好地编译,但是在logQuery.ExecuteBatch()方法上莫名其妙地崩溃了。除非我专门使szQuery格式错误,否则try / catch块不会捕获它,这表明一切正常,而我只是没有得到任何输出。

关于为什么它可能崩溃或在哪里可以找到日志的任何想法?

使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Text;
使用FolderLoggingLib;
使用MSUtil;

命名空间ConsoleApplication20
{
class 计划
{
静态void Main(string [] args)
{
// refLog = new BinaryInputFormat();
LogQueryClass logQuery =新的LogQueryClass();
ICOMCSVOutputContext输出=新的COMCSVOutputContextClass();
ILogParserInputContext parse = new BinaryInputFormat();
string szFileName = @"E:\Programming\FolderLogging\2012-05-13.fbl"; string szQuery = "SELECT Folder, User, Record, DB, TO_LOCALTIME(Timestamp) AS DateTime, Operation, Checked FROM " + szFileName + " ORDER BY DateTime DESC"; try { logQuery.ExecuteBatch(szQuery, parse, output); } catch { }; }}
}

最佳答案

使用Execute而不是ExecuteBatch:

MSUtil.ILogRecordset RecordSet = logQuery.Execute(query, oInputFormat)

如果要在示例代码中导出为CSV,则需要通过添加INTO output_file_name并运行ExecuteBatch来更改查询:
string szQuery = "SELECT Folder, User, Record, DB, TO_LOCALTIME(Timestamp) AS DateTime, Operation,  Checked **INTO c:\out\out.csv** FROM " + szFileName + " ORDER BY DateTime DESC";

关于c# - LogParser崩溃,C#中没有错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10587984/

10-11 11:50