ArcGIS Server服务无法启动日志
服务器断电后再次开机,ArcGIS for Server系统服务无法启动。手动启动服务后,服务状态会自动变回为Stop状态。
service_error.log中的错误信息如下:
com.esri.arcgis.discovery.nodeagent.NodeAgentException: java.lang.RuntimeException: com.esri.arcgis.discovery.json.JSONException: A JSONObject text must begin with ''{'' at character 1 of
at com.esri.arcgis.discovery.nodeagent.impl.NodeAgent.start(NodeAgent.java:268)
at com.esri.arcgis.discovery.nodeagent.impl.Main.start(Main.java:52)
Caused by: java.lang.RuntimeException: com.esri.arcgis.discovery.json.JSONException: A JSONObject text must begin with ''{'' at character 1 of
at com.esri.arcgis.discovery.logging.impl.LogService.init(LogService.java:325)
at com.esri.arcgis.discovery.logging.impl.LogService.<init>(LogService.java:96)
at com.esri.arcgis.discovery.nodeagent.impl.NodeAgent.registerLogService(NodeAgent.java:555)
at com.esri.arcgis.discovery.nodeagent.impl.NodeAgent.start(NodeAgent.java:257)
... 1 more
Caused by: com.esri.arcgis.discovery.json.JSONException: A JSONObject text must begin with ''{'' at character 1 of
at com.esri.arcgis.discovery.json.JSONTokener.syntaxError(JSONTokener.java:450)
at com.esri.arcgis.discovery.json.JSONObject.<init>(JSONObject.java:178)
at com.esri.arcgis.discovery.json.JSONObject.<init>(JSONObject.java:276)
at com.esri.arcgis.discovery.logging.LogConfig.fromJSONString(LogConfig.java:186)
at com.esri.arcgis.discovery.logging.impl.LogService.init(LogService.java:284)
... 4 more
java.lang.RuntimeException: com.esri.arcgis.discovery.json.JSONException: A JSONObject text must begin with ''{'' at character 1 of
at com.esri.arcgis.discovery.logging.impl.LogService.init(LogService.java:325)
at com.esri.arcgis.discovery.logging.impl.LogService.<init>(LogService.java:96)
at com.esri.arcgis.discovery.nodeagent.impl.NodeAgent.registerLogService(NodeAgent.java:555)
at com.esri.arcgis.discovery.nodeagent.impl.NodeAgent.start(NodeAgent.java:257)
at com.esri.arcgis.discovery.nodeagent.impl.Main.start(Main.java:52)
Caused by: com.esri.arcgis.discovery.json.JSONException: A JSONObject text must begin with ''{'' at character 1 of
at com.esri.arcgis.discovery.json.JSONTokener.syntaxError(JSONTokener.java:450)
at com.esri.arcgis.discovery.json.JSONObject.<init>(JSONObject.java:178)
at com.esri.arcgis.discovery.json.JSONObject.<init>(JSONObject.java:276)
at com.esri.arcgis.discovery.logging.LogConfig.fromJSONString(LogConfig.java:186)
at com.esri.arcgis.discovery.logging.impl.LogService.init(LogService.java:284)
... 4 more
service.log中提到如下信息:
Mon Nov 09 17:24:42 PKT 2015:Start NodeAgent.start().
Mon Nov 09 17:24:42 PKT 2015:Loading all observers.
Mon Nov 09 17:24:43 PKT 2015:Invoking beforeStart() for all observers.
WARNING: Could not connect to Log service. Writing log message to console.
<Msg time=2015-11-09T17:24:43,296 type=DEBUG code=9999 source=Admin process=4024 thread=1 methodName= machine= user= elapsed=>Loading all observers.</Msg>
Mon Nov 09 17:24:57 PKT 2015:Starting RMI connector for NodeAgent.
Mon Nov 09 17:24:58 PKT 2015:Registering NodeAgent as JMX bean.
Mon Nov 09 17:24:58 PKT 2015:Registering and starting log service.
service_error.log中的错误信息如下:
com.esri.arcgis.discovery.nodeagent.NodeAgentException: java.lang.RuntimeException: com.esri.arcgis.discovery.json.JSONException: A JSONObject text must begin with ''{'' at character 1 of
at com.esri.arcgis.discovery.nodeagent.impl.NodeAgent.start(NodeAgent.java:268)
at com.esri.arcgis.discovery.nodeagent.impl.Main.start(Main.java:52)
Caused by: java.lang.RuntimeException: com.esri.arcgis.discovery.json.JSONException: A JSONObject text must begin with ''{'' at character 1 of
at com.esri.arcgis.discovery.logging.impl.LogService.init(LogService.java:325)
at com.esri.arcgis.discovery.logging.impl.LogService.<init>(LogService.java:96)
at com.esri.arcgis.discovery.nodeagent.impl.NodeAgent.registerLogService(NodeAgent.java:555)
at com.esri.arcgis.discovery.nodeagent.impl.NodeAgent.start(NodeAgent.java:257)
... 1 more
Caused by: com.esri.arcgis.discovery.json.JSONException: A JSONObject text must begin with ''{'' at character 1 of
at com.esri.arcgis.discovery.json.JSONTokener.syntaxError(JSONTokener.java:450)
at com.esri.arcgis.discovery.json.JSONObject.<init>(JSONObject.java:178)
at com.esri.arcgis.discovery.json.JSONObject.<init>(JSONObject.java:276)
at com.esri.arcgis.discovery.logging.LogConfig.fromJSONString(LogConfig.java:186)
at com.esri.arcgis.discovery.logging.impl.LogService.init(LogService.java:284)
... 4 more
java.lang.RuntimeException: com.esri.arcgis.discovery.json.JSONException: A JSONObject text must begin with ''{'' at character 1 of
at com.esri.arcgis.discovery.logging.impl.LogService.init(LogService.java:325)
at com.esri.arcgis.discovery.logging.impl.LogService.<init>(LogService.java:96)
at com.esri.arcgis.discovery.nodeagent.impl.NodeAgent.registerLogService(NodeAgent.java:555)
at com.esri.arcgis.discovery.nodeagent.impl.NodeAgent.start(NodeAgent.java:257)
at com.esri.arcgis.discovery.nodeagent.impl.Main.start(Main.java:52)
Caused by: com.esri.arcgis.discovery.json.JSONException: A JSONObject text must begin with ''{'' at character 1 of
at com.esri.arcgis.discovery.json.JSONTokener.syntaxError(JSONTokener.java:450)
at com.esri.arcgis.discovery.json.JSONObject.<init>(JSONObject.java:178)
at com.esri.arcgis.discovery.json.JSONObject.<init>(JSONObject.java:276)
at com.esri.arcgis.discovery.logging.LogConfig.fromJSONString(LogConfig.java:186)
at com.esri.arcgis.discovery.logging.impl.LogService.init(LogService.java:284)
... 4 more
service.log中提到如下信息:
Mon Nov 09 17:24:42 PKT 2015:Start NodeAgent.start().
Mon Nov 09 17:24:42 PKT 2015:Loading all observers.
Mon Nov 09 17:24:43 PKT 2015:Invoking beforeStart() for all observers.
WARNING: Could not connect to Log service. Writing log message to console.
<Msg time=2015-11-09T17:24:43,296 type=DEBUG code=9999 source=Admin process=4024 thread=1 methodName= machine= user= elapsed=>Loading all observers.</Msg>
Mon Nov 09 17:24:57 PKT 2015:Starting RMI connector for NodeAgent.
Mon Nov 09 17:24:58 PKT 2015:Registering NodeAgent as JMX bean.
Mon Nov 09 17:24:58 PKT 2015:Registering and starting log service.
2 个回复
张赛
赞同来自:
问题分析:
首先,根据上述log信息中提到(1)json对象以及(2)service.log的Registering and starting log service,可判断这一错误的出现是由某个与log有关的json文件导致的。
其次,日志中提到A JSONObject text must begin with ''{'' at character 1 of,说明在json文件中可能由于字符编码或其他原因导致读取json文件读取错误
基于上述判断以及进一步的分析,问题可定位至【ArcGIS Server】安装目录\framework\etc下的arcgis-logsettings.json文件。通过向这一文件开头输入其他非{字符,从而可浮现类似情况,即ArcGIS Server 系统服务启动后自动关闭。
解决方案:
修改arcgis-logsettings.json文件,确保其符合正确的格式。具体格式如图所示。
[attach]https://c.ap1.content.force.co ... 6HUM6[/attach]
许丹石
赞同来自:
{
"logDir": "C:\\arcgisserver\\logs\\",
"logLevel": "WARNING",
"maxErrorReportsCount": 10,
"maxLogFileAge": 90,
"usageMeteringEnabled": false,
"statisticsConfig": {
"enabled": true,
"samplingInterval": 30,
"maxHistory": 0,
"statisticsDir": "E:\\arcgisserver\\directories\\arcgissystem"
}
}
要回复问题请先登录或注册
发起人
相关问题
问题状态
—— 扫技术支持中心微信服务号!
—— 让GIS知乎问答随时随地!