| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- // package kernel_log -- логгер ядра
- package kernel_log
- import (
- "fmt"
- "sync"
- . "wartank/pkg/helpers"
- . "wartank/pkg/kernel/kernel_types"
- )
- var блок sync.Mutex
- type Логгер struct {
- префикс string
- }
- func НовЛоггер(конт ИЯдроСловарь) *Логгер {
- ПроверТверд(конт != nil, "НовЯдроЛог(): ИЯдроСловарь==пусто")
- сам := &Логгер{
- префикс: конт.Получ("префикс").(string),
- }
- _ = ИЯдроЛог(сам)
- return сам
- }
- // Паника -- проверяет на совпадение условия
- func (сам *Логгер) Паника(условие bool, формат string, аргументы ...interface{}) {
- блок.Lock()
- defer блок.Unlock()
- if условие {
- panic(fmt.Sprintf("ПАНИК "+сам.префикс+"."+формат, аргументы...))
- }
- }
- // Ошибка -- выводит в консоль ошибку
- func (сам *Логгер) Ошибка(формат string, аргументы ...interface{}) {
- блок.Lock()
- defer блок.Unlock()
- fmt.Printf("ОШИБК "+сам.префикс+"."+формат, аргументы...)
- }
- // Отладка -- выводит в консоль отладку
- func (сам *Логгер) Отладка(формат string, аргументы ...interface{}) {
- блок.Lock()
- defer блок.Unlock()
- fmt.Printf("ОТЛАД "+сам.префикс+"."+формат, аргументы...)
- }
- // Инфо -- выводит в консоль информацию
- func (сам *Логгер) Инфо(формат string, аргументы ...interface{}) {
- блок.Lock()
- defer блок.Unlock()
- fmt.Printf("ИНФО "+сам.префикс+"."+формат, аргументы...)
- }
- // Внимание -- выводит в консоль предупреждение
- func (сам *Логгер) Внимание(формат string, аргументы ...interface{}) {
- блок.Lock()
- defer блок.Unlock()
- fmt.Printf("ВНИМА "+сам.префикс+"."+формат, аргументы...)
- }
|