如何正确地在SOE中输出日志信息
2017-05-24 13:31
155 查看
ArcGIS for Server提供完善的日志管理机制,用于日志的记录、查询和自动清除。开发人员在开发编写SOE代码时,应该采用该机制进行日志记录的输出。如果不采用该机制,输出的日志消息会写到ArcGIS Server内置的标准输出文件(C:\Program Files\ArcGIS\Server\framework\etc\service\logs)中,该位置文件是没有自动清除机制的,运行一段时间后,有可能导致该文件太大而导致服务性能下降。
具体指引如下:
1.在SOE的工程中创建ServerLogger对象。
该对象可以在SOE的Init方法中创建,并作为一个全局变量。
如下示例代码:
this.serverLog = new ServerLogger();
2.在需要输出日志信息的地方,使用该对象的LogMessage方法。
如下示例代码:
serverLog.LogMessage(ServerLogger.msgType.infoDetailed, this.soeName + ".init()", 200, "Initialized " + this.soeName + " SOE.");
其中日志信息是分级别的,一般建议把级别设置为详细infoDetailed。这样做的好处是在服务正常运行的情况下,日志消息不保存,只有在需要查找问题进行调试时,通过设置ArcGIS Server站点的日志记录模式为详细,此时才记录SOE中的日志消息。这样能大大降低Server日志文件的大小,避免了由于日志文件太大而影响了ArcGIS Server发布的服务的性能。
相关文章推荐
- log4j(二)——如何控制日志信息的输出?
- (转)log4j(二)——如何控制日志信息的输出?
- log4j(三)——如何控制不同级别的日志信息的输出?
- 如何在ASP.NET中将日志信息输出到IIS Log
- (转)log4j(四)——如何控制不同风格的日志信息的输出?
- Android 如何统一管理log日志,在发布版本时不输出任何日志信息。
- Activity生命周期及如何存活 用log日志信息打印输出
- Java 如何获取控制台日志输出的信息? WriterAppender 可以实现? 配置文件如何配置
- tomcat中多个项目(web项目)共用log4j.jar的情况下,如何让其各自打印各自的日志文件。及输出同级别日志信息
- 使用日志框架如何输出printStackTrace()的堆栈信息
- (转)log4j(三)——如何控制不同级别的日志信息的输出?
- log4j(四)——如何控制不同风格的日志信息的输出?
- tomcat日志配置,log信息如何输出到同一个文件
- 如何减少Jboss控制台和日志的信息输出 4.2版
- Log4j是输出日志时是如何获知当前方法、行号的
- 如何写安全的Java Web应用之输入校验(一):不要在输出中包含Debug信息
- SQL Server 服务无法启动.有关详细信息,请参阅SQL Server联机丛书中的主题"如何查看SQL Server 2005 安装日志文件"和"手动启动SQL Server"
- 如何在系统中控制第三方框架的日志输出
- 把程序输出信息加到系统日志里去
- 如何在 Spring Security 2 中开启日志输出