我正在使用JNA来读取Windows事件日志。我可以从每条记录中获得相当数量的数据但我无法获得字段名称。
要读取我正在做的日志
EventLogIterator iter = new EventLogIterator("Security");
while(iter.hasNext()) {
EventLogRecord record = iter.next();
System.out.println("Event ID: " + record.getEventId()
+ ", Event Type: " + record.getType()
+ ", Event Source: " + record.getSource());
String strings[] = record.getStrings();
for(String str : strings) {
System.out.println(str);
}
}
我可以轻松获取id,类型和来源等数据。然后我可以得到可能是SubjectUserSid,SubjectUserName等的字符串列表。
我一直在尝试使用字段名称获取我想要的数据。有没有一种简单的方法从record.getStrings()中提取每个字符串的字段名称/标题?我注意到记录中有一个byte []数据变量。我试图阅读这个,但我无法从中获得任何有用的信息。我知道我可以获得某些变量的数据长度和偏移量,我认为我可以提取我想要的数据,但我想知道这是否正确或是否有更简单的方法。