// vi: set smarttab et sw=4 tabstop=4: module config-logging { yang-version 1; namespace "urn:opendaylight:params:xml:ns:yang:controller:logback:config"; prefix "logging"; import config { prefix config; revision-date 2013-04-05; } import rpc-context { prefix rpcx; revision-date 2013-06-17; } organization "Cisco Systems, Inc."; description "This module contains the base YANG definitions for NS-OS logging module."; revision "2013-07-16" { description "Initial revision."; } identity logback { description "Actual state of logback configuration."; base config:module-type; config:java-name-prefix Logback; } identity logback-rpc; augment "/config:modules/config:module/config:configuration" { case logback { when "/config:modules/config:module/config:type = 'logback'"; list file-appenders { leaf append { type boolean; mandatory false; } leaf file-name { type string; mandatory true; } leaf encoder-pattern { type string; mandatory true; } leaf name { type string; mandatory true; } key name; config:java-name-prefix FileAppenderTO; } list rolling-appenders { leaf append { type boolean; mandatory false; } leaf file-name { type string; mandatory true; } leaf encoder-pattern { type string; mandatory true; } leaf min-index { type int32; mandatory true; } leaf max-index { type int32; mandatory true; } leaf max-file-size { type string; mandatory true; } leaf name { type string; mandatory true; } key name; leaf file-name-pattern { type string; mandatory true; } leaf rolling-policy-type { type string; mandatory true; } leaf max-history { type int32; mandatory true; } leaf clean-history-on-start { type boolean; default false; } config:java-name-prefix RollingFileAppenderTO; } list console-appenders { leaf encoder-pattern { type string; mandatory true; } leaf threshold-filter { type string; default 'ALL'; } leaf name { type string; mandatory true; } key name; config:java-name-prefix ConsoleAppenderTO; } list loggers { leaf logger-name { type string; mandatory true; } key logger-name; leaf level { type string; mandatory true; } leaf-list appenders { type string; } config:java-name-prefix LoggerTO; } } } augment "/config:modules/config:module/config:state" { case logback { when "/config:modules/config:module/config:type = 'logback'"; rpcx:rpc-context-instance "logback-rpc"; list status { config:java-name-prefix StatusTO; leaf level { type string; } leaf message { type string; } leaf date { type uint32; } } } } rpc reset { input { uses rpcx:rpc-context-ref { refine context-instance { rpcx:rpc-context-instance logback-rpc; } } } } }