我正在尝试在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/