• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ValeriyMenshikov / restcodegen / 19719608116

26 Nov 2025 10:51PM UTC coverage: 86.838% (+23.4%) from 63.397%
19719608116

push

github

web-flow
Merge pull request #8 from ValeriyMenshikov/release/2.0.0

Release/2.0.0

36 of 38 new or added lines in 5 files covered. (94.74%)

541 of 623 relevant lines covered (86.84%)

2.61 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

96.55
/restcodegen/generator/log.py
1
from __future__ import annotations
3✔
2

3
import logging
3✔
4
import sys
3✔
5
from dataclasses import dataclass
3✔
6
from enum import Enum
3✔
7

8

9
class LogLevelEnum(str, Enum):
3✔
10
    CRITICAL = "CRITICAL"
3✔
11
    ERROR = "ERROR"
3✔
12
    WARNING = "WARNING"
3✔
13
    INFO = "INFO"
3✔
14
    DEBUG = "DEBUG"
3✔
15

16

17
@dataclass(slots=True)
3✔
18
class LoggerSettings:
3✔
19
    log_level: LogLevelEnum = LogLevelEnum.DEBUG
3✔
20

21

22
def build_root_logger(log_settings: LoggerSettings | None = None) -> logging.Logger:
3✔
23
    settings = log_settings or LoggerSettings()
3✔
24
    logger = logging.getLogger("restcodegen")
3✔
25
    logger.setLevel(settings.log_level.value)
3✔
26

27
    if not logger.handlers:
3✔
28
        handler = logging.StreamHandler(sys.stdout)
3✔
29
        handler.setLevel(settings.log_level.value)
3✔
30
        formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
3✔
31
        handler.setFormatter(formatter)
3✔
32
        logger.addHandler(handler)
3✔
33

34
    logger.propagate = False
3✔
35
    return logger
3✔
36

37

38
LOGGER = build_root_logger()
3✔
39

40

41
def get_logger(name: str) -> logging.Logger:
3✔
NEW
42
    return logging.getLogger(name)
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc