可以通过已寄存的记录器点从程序发送记录器消息。如要发送记录器消息,必须调用记录器点的方法 AddLogEntry。
方法 AddLogEntry 需要用到以下输入:
oi_sMessage:自有文本形式的记录器消息。必须将枚举数量转换成 STRING,然后才能将它们作为消息的一部分来发送。
oi_etLogLevel:必须根据消息的重要性,为每个消息分配 ET_LogLevel。
oi_etDiag, i_udiDiagExt:每个消息都获取诊断数据以支持更好的过滤。
可以将每个记录器点分配到表示消息优先级的记录器层级。记录器点将消息发送到应用程序记录器。如果提供给 AddLogEntry 方法的记录器层级在优先级上低于记录器点的记录器层级,则消息被忽略,且不添加到应用程序记录器的记录。
鉴于这一过滤机制,可以在不生成过多消息的情况下,以与高优先级诊断消息相同的方式处理调试消息。
但是,在发送记录器消息时,必须注意以下两个原则:
1. 方法 AddLogEntry 的每次调用都会将新消息添加到应用程序记录器。如果不希望创建新记录条目,请确保在您的项目中不循环调用此方法,或者不在单次循环中多次调用此方法。
2. AddLogEntry 方法的调用不需要占用过多 CPU 能力。但请注意,如果使用较多的字符串操作(如 CONCAT、INSERT 等)来创建日志消息,则可能占用多得多的 CPU 能力。如果使用多个字符串操作来创建消息,请确认消息是否被发送到应用程序记录器。如果消息的记录器层级在优先级上低于记录点的记录器层级,则不需要创建消息。