You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

102 lines
2.5 KiB

// ------------------------------------------------------------------------
// Project active2
// Active Thing (activething.com) git.activething.com/go
//
// File name active.go
// Created by DEV
// Modified 23/04/2024
//
// Copyright 2024 activething.com
// ------------------------------------------------------------------------
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// ------------------------------------------------------------------------
package logs
import (
"bins/tokens"
"mems"
"syncs"
"syncs/pools"
"time"
)
const (
LevelNameData string = "DATA"
LevelNameDebug string = "DEBUG"
LevelNameInfo string = "INFO"
LevelNameWarn string = "WARN"
LevelNameError string = "ERROR"
LevelNameFatal string = "FATAL"
levelNameSep string = "|"
filterLevelName string = "level"
filterScopeName string = "scope"
)
const (
msgLogLogErr = "Error logging core logger"
msgLogStartErr = "Error starting core logger"
msgLogStopErr = "Error stopping core logger"
msgLogFlushErr = "Error flushing core logger"
)
var (
G = struct {
ErrInvalidLevel ErrLogs
ErrDuplicatedScope ErrLogs
ErrDuplicatedLogger ErrLogs
ErrInvalidScope ErrLogs
ErrInvalidScopeMode ErrLogs
ErrNotExistsLogger ErrLogs
ScopeSep byte
}{
ErrInvalidLevel : ErrLogs{ "invalid-level"},
ErrDuplicatedScope : ErrLogs{"duplicated-scope" },
ErrDuplicatedLogger : ErrLogs{"duplicated-logger"},
ErrInvalidScope : ErrLogs{"invalid-scope"},
ErrInvalidScopeMode : ErrLogs{ "invalid-scope-mode"},
ErrNotExistsLogger : ErrLogs{"not-exists-logger"},
ScopeSep : '.',
}
g = struct {
idGen syncs.AUInt64
entryPool pools.GPool[Entry]
bufferPool mems.Pool
tokenizer tokens.ATokenizer
scopeSepStr string
}{
idGen : *syncs.NewAUInt64(uint64(time.Now().Unix())),
bufferPool: *mems.NewPool(),
tokenizer : *tokens.NewATokenizer(),
entryPool : *pools.NewGPool[Entry](pools.WithNew(newEntry)),
scopeSepStr : ".",
}
)

Powered by TurnKey Linux.