properties.cpp 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. //
  2. // properties.cpp
  3. // logger
  4. //
  5. // Created by Sam Jaffe on 10/3/15.
  6. //
  7. //
  8. #include "properties.hpp"
  9. /*
  10. {
  11. {"pattern",{{},"%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"}}
  12. },
  13. "PatternLayout"
  14. }
  15. */
  16. namespace logging {
  17. namespace {
  18. properties _property(std::map<std::string, properties> const& m) {
  19. return properties{properties::OBJECT, m, {}, {}};
  20. }
  21. properties _list(std::vector<properties> const& l) {
  22. return properties{properties::ARRAY, {}, l, {}};
  23. }
  24. properties _value(std::string const& s) {
  25. return properties{properties::STRING, {}, {}, s};
  26. }
  27. }
  28. /*
  29. * %d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n
  30. *
  31. * %d{fmt} := date(format)
  32. * %t := thread
  33. * %-5level := level (max 5char, align right)
  34. * %logger{36} := logsource (max 36char)
  35. * %msg := log message
  36. * %n := platform-specific line separator
  37. *
  38. */
  39. properties const STDOUT_DEFAULT_SCHEMA{
  40. _property({
  41. {"type", _value("Console")},
  42. {"name", _value("Console")},
  43. {"target", _value("SYSTEM_OUT")},
  44. {
  45. "data", _list({
  46. _property({
  47. {"type", _value("PatternLayout")},
  48. {"pattern", _value("%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n")}
  49. })
  50. })
  51. }
  52. })
  53. };
  54. properties const LOGGER_DEFAULT_SCHEMA {
  55. _property({
  56. {"type", _value("Root")},
  57. {"level", _value("Error")},
  58. {
  59. "data", _list({
  60. _property({
  61. {"type", _value("AppenderRef")},
  62. {"ref", _value("Console")}
  63. })
  64. })
  65. }
  66. })
  67. };
  68. properties const DEFAULT_SCHEMA{
  69. _property({
  70. {"Appenders",_list({STDOUT_DEFAULT_SCHEMA})},
  71. {"Loggers",_list({LOGGER_DEFAULT_SCHEMA})}
  72. })
  73. };
  74. }