| commit | 6fd9dc48615e22d53be7181fb8d122f67695036e | [log] [tgz] |
|---|---|---|
| author | Deepak Kodihalli <dkodihal@in.ibm.com> | Tue Apr 03 02:08:42 2018 -0500 |
| committer | Deepak Kodihalli <dkodihal@in.ibm.com> | Mon Apr 09 08:42:53 2018 -0500 |
| tree | bc0659aea48ae59f15eb16b6b83345f9c595bed4 | |
| parent | 14a8c8de981933fdb362597d7cf989249846ee9f [diff] |
Implement ability to override default error level Errors reported by the phosphor-logging app have a default error level, and this level is specified in the error's YAML definition. Enable users of the error's report() API to specify an error level. A user may perceive a different error level for an error scenario, for eg there may be certain host errors (for which we set the level as 'Error') that may just be 'Warnings'. Change-Id: I666a0ddcb099e530c423358a3b1c65f33b0ad01e Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
phosphor logging provides mechanism for common event and logging creation based on information from the journal log.
To build this package, do the following steps:
1. ./bootstrap.sh
2. ./configure ${CONFIGURE_FLAGS}
3. make
To clean the repository run `./bootstrap.sh clean`.
Reference
Modify Makefile.am to export newly added error YAML to shared location
yamldir = ${datadir}/phosphor-dbus-yaml/yaml
nobase_yaml_DATA = \
org/open_power/Host.errors.yaml
# Generate phosphor-logging/elog-errors.hpp
if GEN_ERRORS
ELOG_MAKO ?= elog-gen-template.mako.hpp
ELOG_DIR ?= ${OECORE_NATIVE_SYSROOT}${datadir}/phosphor-logging/elog
ELOG_GEN_DIR ?= ${ELOG_DIR}/tools/
ELOG_MAKO_DIR ?= ${ELOG_DIR}/tools/phosphor-logging/templates/
YAML_DIR ?= ${OECORE_NATIVE_SYSROOT}${datadir}/phosphor-dbus-yaml/yaml
phosphor-logging/elog-errors.hpp:
@mkdir -p ${YAML_DIR}/org/open_power/
@cp ${top_srcdir}/org/open_power/Host.errors.yaml \
${YAML_DIR}/org/open_power/Host.errors.yaml
@mkdir -p `dirname $@`
@chmod 777 $(ELOG_GEN_DIR)/elog-gen.py
$(AM_V_at)$(PYTHON) $(ELOG_GEN_DIR)/elog-gen.py -y ${YAML_DIR} \
-t ${ELOG_MAKO_DIR} -m ${ELOG_MAKO} -o $@
endif
if GEN_ERRORS
nobase_nodist_include_HEADERS += \
phosphor-logging/elog-errors.hpp
endif
if GEN_ERRORS
BUILT_SOURCES += phosphor-logging/elog-errors.hpp
endif
if !INSTALL_ERROR_YAML endif
Reference
Install error yaml option(argument) is enabled for native recipe build and disabled for bitbake build.
When install error yaml option is disabled do not check for target specific packages in autotools configure script.
AC_ARG_ENABLE([install_error_yaml],
AS_HELP_STRING([--enable-install_error_yaml],
[Enable installing error yaml file]),[], [install_error_yaml=no])
AM_CONDITIONAL([INSTALL_ERROR_YAML],
[test "x$enable_install_error_yaml" = "xyes"])
AS_IF([test "x$enable_install_error_yaml" != "xyes"], [
..
..
])
AC_ARG_ENABLE([gen_errors],
AS_HELP_STRING([--enable-gen_errors], [Enable elog-errors.hpp generation ]),
[],[gen_errors=yes])
AM_CONDITIONAL([GEN_ERRORS], [test "x$enable_gen_errors" != "xno"])
Reference
BBCLASSEXTEND += "native nativesdk"
DEPENDS_remove_class-native = "phosphor-logging"
DEPENDS_remove_class-nativesdk = "phosphor-logging"
## Add package config to enable/disable install_error_yaml feature
PACKAGECONFIG ??= "install_error_yaml"
PACKAGECONFIG[install_error_yaml] = " \
--enable-install_error_yaml, \
--disable-install_error_yaml, ,\
"
PACKAGECONFIG_add_class-native = "install_error_yaml" PACKAGECONFIG_add_class-nativesdk = "install_error_yaml"
PACKAGECONFIG_remove_class-target = "install_error_yaml"
XTRA_OECONF += "--disable-gen_errors"
Reference