_defaults.py 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. from os import environ
  2. def env(key, type_, default=None):
  3. if key not in environ:
  4. return default
  5. val = environ[key]
  6. if type_ is str:
  7. return val
  8. if type_ is bool:
  9. if val.lower() in ["1", "true", "yes", "y", "ok", "on"]:
  10. return True
  11. if val.lower() in ["0", "false", "no", "n", "nok", "off"]:
  12. return False
  13. raise ValueError(
  14. "Invalid environment variable '%s' (expected a boolean): '%s'" % (key, val)
  15. )
  16. if type_ is int:
  17. try:
  18. return int(val)
  19. except ValueError:
  20. raise ValueError(
  21. "Invalid environment variable '%s' (expected an integer): '%s'" % (key, val)
  22. ) from None
  23. raise ValueError("The requested type '%s' is not supported" % type_.__name__)
  24. LOGURU_AUTOINIT = env("LOGURU_AUTOINIT", bool, True)
  25. LOGURU_FORMAT = env(
  26. "LOGURU_FORMAT",
  27. str,
  28. "<green>{time:YYYY-MM-DD HH:mm:ss.SSS}</green> | "
  29. "<level>{level: <8}</level> | "
  30. "<cyan>{name}</cyan>:<cyan>{function}</cyan>:<cyan>{line}</cyan> - <level>{message}</level>",
  31. )
  32. LOGURU_FILTER = env("LOGURU_FILTER", str, None)
  33. LOGURU_LEVEL = env("LOGURU_LEVEL", str, "DEBUG")
  34. LOGURU_COLORIZE = env("LOGURU_COLORIZE", bool, None)
  35. LOGURU_SERIALIZE = env("LOGURU_SERIALIZE", bool, False)
  36. LOGURU_BACKTRACE = env("LOGURU_BACKTRACE", bool, True)
  37. LOGURU_DIAGNOSE = env("LOGURU_DIAGNOSE", bool, True)
  38. LOGURU_ENQUEUE = env("LOGURU_ENQUEUE", bool, False)
  39. LOGURU_CONTEXT = env("LOGURU_CONTEXT", str, None)
  40. LOGURU_CATCH = env("LOGURU_CATCH", bool, True)
  41. LOGURU_TRACE_NO = env("LOGURU_TRACE_NO", int, 5)
  42. LOGURU_TRACE_COLOR = env("LOGURU_TRACE_COLOR", str, "<cyan><bold>")
  43. LOGURU_TRACE_ICON = env("LOGURU_TRACE_ICON", str, "\u270F\uFE0F") # Pencil
  44. LOGURU_DEBUG_NO = env("LOGURU_DEBUG_NO", int, 10)
  45. LOGURU_DEBUG_COLOR = env("LOGURU_DEBUG_COLOR", str, "<blue><bold>")
  46. LOGURU_DEBUG_ICON = env("LOGURU_DEBUG_ICON", str, "\U0001F41E") # Lady Beetle
  47. LOGURU_INFO_NO = env("LOGURU_INFO_NO", int, 20)
  48. LOGURU_INFO_COLOR = env("LOGURU_INFO_COLOR", str, "<bold>")
  49. LOGURU_INFO_ICON = env("LOGURU_INFO_ICON", str, "\u2139\uFE0F") # Information
  50. LOGURU_SUCCESS_NO = env("LOGURU_SUCCESS_NO", int, 25)
  51. LOGURU_SUCCESS_COLOR = env("LOGURU_SUCCESS_COLOR", str, "<green><bold>")
  52. LOGURU_SUCCESS_ICON = env("LOGURU_SUCCESS_ICON", str, "\u2705") # White Heavy Check Mark
  53. LOGURU_WARNING_NO = env("LOGURU_WARNING_NO", int, 30)
  54. LOGURU_WARNING_COLOR = env("LOGURU_WARNING_COLOR", str, "<yellow><bold>")
  55. LOGURU_WARNING_ICON = env("LOGURU_WARNING_ICON", str, "\u26A0\uFE0F") # Warning
  56. LOGURU_ERROR_NO = env("LOGURU_ERROR_NO", int, 40)
  57. LOGURU_ERROR_COLOR = env("LOGURU_ERROR_COLOR", str, "<red><bold>")
  58. LOGURU_ERROR_ICON = env("LOGURU_ERROR_ICON", str, "\u274C") # Cross Mark
  59. LOGURU_CRITICAL_NO = env("LOGURU_CRITICAL_NO", int, 50)
  60. LOGURU_CRITICAL_COLOR = env("LOGURU_CRITICAL_COLOR", str, "<RED><bold>")
  61. LOGURU_CRITICAL_ICON = env("LOGURU_CRITICAL_ICON", str, "\u2620\uFE0F") # Skull and Crossbones