diff options
Diffstat (limited to 'xyz/openbmc_project/Logging/README.md')
-rw-r--r-- | xyz/openbmc_project/Logging/README.md | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/xyz/openbmc_project/Logging/README.md b/xyz/openbmc_project/Logging/README.md new file mode 100644 index 0000000..fc316d9 --- /dev/null +++ b/xyz/openbmc_project/Logging/README.md @@ -0,0 +1,66 @@ +# OpenBMC logging + * Provides a mechanism for logging events and errors to the journal. + * Creates error entry D-Bus objects when an error is reported/committed. + * Persists error entries across power off. + +## Error definitions +### Generic error definitions +* Generic errors used by applications are defined at + [phosphor-dbus-interfaces](https://github.com/openbmc/phosphor-dbus-interfaces) +* Generic errors can be used by all the applications by including the generated + elog-errors.hpp header file. + +### Application error definitions +* There are errors that are not generic and are very specific to the + application. Such errors are defined in the application that uses the error. +* Refer to [openpower-debug-collector](https://github.com/openbmc/openpower-debug-collector) + +### Error YAML files + * Every error defined will have an error YAML file and a corresponding error + metadata YAML file. + * The error YAML file contains the error name and a one-line description of the error. + An example of an error YAML file can be found [here](https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/xyz/openbmc_project/Common/File.errors.yaml). + * The error metadata YAML file captures required data. The format of the data is defined in the error metadata file. + An example of an error metadata YAML file can be found [here](https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/xyz/openbmc_project/Common/File.metadata.yaml) + +## Logging to journal + * Applications can log debug/error information to the journal using + the **log** API + - Refer to [log.hpp](https://github.com/openbmc/phosphor-logging/blob/master/phosphor-logging/log.hpp) + * Applications can commit errors to the journal using the **report** or + **commit** API + - Refer to [elog.hpp](https://github.com/openbmc/phosphor-logging/blob/master/phosphor-logging/elog.hpp) + - Logging entry D-Bus objects are created for the committed errors. + +## Delete All interface +* Use the [DeleteAll.interface.yaml](https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/xyz/openbmc_project/Collection/DeleteAll.interface.yaml) + for deleting all the logging entries. + + +## REST commands +### Logging in + * Before you can do anything, you need to first login. +``` +$export bmc=xx.xx.xx.xx +$curl -c cjar -b cjar -k -X POST -H "Content-Type: application/json" -d '{"data": [ "root", "<root password>" ] }' https://{$bmc}/login +``` + +### List logging child objects recursively +``` +$curl -c cjar -b cjar -k https://${bmc}/xyz/openbmc_project/logging/list +``` + +### List logging attributes of child objects recursively +``` +$curl -c cjar -b cjar -s -k -H 'Content-Type: application/json'; -d '{"data" : []}' -X GET https://${bmc}/xyz/openbmc_project/logging/enumerate +``` + +### Delete logging entries +``` +$curl -c cjar -b cjar -k -H "Content-Type: application/json" -X POST -d '{"data": []}' https://${bmc}/xyz/openbmc_project/logging/entry/<entry num>/action/Delete +``` + +### Delete all logging entries +``` +$curl -c cjar -b cjar -k -H "Content-Type: application/json" -X POST https://${bmc}/xyz/openbmc_project/logging/action/DeleteAll -d "{\"data\": [] }" +``` |