PrizmDoc Server is composed of a number of micro-services each responsible for some small processing task related to document conversion and viewing. Consequently, an error may occur while processing a small piece of a document and may not be readily apparent to the user. While it is a simple task for one service to report an error to a calling service, it is not always appropriate to present that error information to the end user. The Error Reporting Service provides a centralized log into which all services report errors with the overall goal of simplifying system troubleshooting:
Errors are reported to a log file located in the directory containing the other service log files. By default this is located on Linux at:
/usr/share/prizm/logs/PccErrors.log
and on Windows at:
C:/Prizm/logs/PccErrors.log
These locations, as well as the number of daily logs to retain, can be found in the central configuration file.
If not using the central configuration file, then by default the error log is located on Linux at:
/usr/share/prizm/logs/PccErrors.log
and on Windows at:
%ALLUSERSPROFILE%/Accusoft/Prizm/Logs/PccErrors.log
These locations, as well as the file rotate and retained archive configurations, can be found in the Watchdog configuration file located under the "errorReportingService" section on Linux at:
/usr/share/prizm/pccis/Watchdog/watchdog.config
and on Windows at:
%ALLUSERSPROFILE%/Accusoft/Prizm/pccis/Watchdog/watchdog.config
An example of the Error Reporting Service configuration within the Watchdog configuration file on Windows is shown below:
Example |
Copy Code
|
---|---|
"errorReportingService": { ..., "errorLogging": { "logFilePath": "%ALLUSERSPROFILE%/Accusoft/Prizm/Logs/PccErrors.log", "count": 7, "rotateOn": "period", "period": "1d", "size": "200M" }, ... } |
The configuration properties are described below:
logFilePath |
This is the path to file to which errors will be reported. |
count |
The is the maximum number of archive logs to retain when rotating based on period or file size. The default value is 7 which indicates that after 7 file rotations there will be 7 archives (not including the current active log). After the 8th file rotation, the oldest file will be deleted and replaced by the next oldest file. If a value of 0 is used, then at rotation time, the current active log file will be deleted and replaced with a new current active log file. |
rotateOn |
This indicates whether to base the file rotation on time or size. Its value may be either ‘period’ or ‘size’. |
period |
When rotateOn is set to ‘period’ this value indicates the period an error log file will be active until rotated. This property must be a number with a single character unit which may be (y)ears, (m)onths, (w)eeks, (d)ays or (h)ours. By default the period is set to ‘1d’ indicating the file will be rotated once per day at 00:00. |
size |
When rotateOn is set to ‘size’ this value indicates the maximum allowed size for the error log file. When a log entry results in a file which exceeds this size, the archive is rotated. This property must be a number with a single character unit which may be (K)ilobytes, (M)egabytes, (G)igabytes, or (T)erabytes. By default the size is set to ‘200M’ indicating that the file will be rotated when it exceeds 209,715,200 bytes. |
The error log file may contain two type of entries: Errors and Relations. Errors entries describe a specific error event reported by a service and can be used to diagnose issues with a document or service. Relations describe the relationship between two resources and are used to help diagnose an error in which the cause was the result of a failure from another related resource. These are described in further detail below.
An example Error entry is shown below:
Example |
Copy Code
|
---|---|
{ "gid": "duw97iCztVvreTmqRZdgOw", "service": "ImagingServices", "resourceType": "ViewingSession", "resourceId": "3eHY2FqlgNyHo3i2kx2zJQ38YvNPcQMG4CowwC_71cZ1jRN1l6k48PxBkPkAkGd0xWHXjWmkhdQoRw", "relevance": 100, "errorCode": "DocumentRequiresAPassword", "time": "2015-04-28 20:27:25.0473", "errorId": "f00hLsu_V8TimZm88w1b6w" } |
gid |
This is the Global ID assigned to each new request. It uniquely identifies operations resulting from the original request. |
service |
This is the name of the service which reported the error. |
resourceType |
This describes the resource related to the error. Examples include ContentConverter, WorkFile, MarkupBurner, RedactionCreator. |
resourceId |
This is the unique resource identifier (i.e. ViewingSessionId). |
relevance |
This indicates the importance of the error:
|
errorCode |
This is the error code reported by the service. This will be a PascalCased string briefly describing the error. |
time |
This is the time at which the error was reported. |
errorId |
This is a unique errorId assigned to the error by the Error Reporting Service. |
An example relation entry is shown below:
Example |
Copy Code
|
---|---|
{ "gid": "duw97iCztVvreTmqRZdgOw", "service": "ImagingServices", "resourceType": "ViewingSession", "resourceId": "3eHY2FqlgNyHo3i2kx2zJQ38YvNPcQMG4CowwC_71cZ1jRN1DEF0UbuRl6k48P, "relation": "RedirectedViewingSession", "relationResourceId": "gRrJ8ay0jV6wBXiqMjxmB4epUrsd7KqVdtsD_BtwAZbhYBVpb4P2ksm0_kcByugmA", "relationId": "EjA6CpDhFuTMP3sTAvMhyA" } |
gid |
This is the Global ID assigned to each new request. It uniquely identifies operations resulting from the original request. |
service |
This is the name of the service which reported the relation. |
resourceType |
This describes the resource associated with the relation. Examples include ContentConverter, WorkFile, MarkupBurner, RedactionCreator. |
resourceId |
This is the unique resource identifier (i.e. ViewingSessionId). |
relation |
This describes the related resource. (i.e. RedirectedViewingSession). |
relationResourceId |
This is the unique related resource identifier (i.e. ViewingSessionId). |
relationId |
This is a unique relationId assigned to the error by the Error Reporting Service. |