Documentation
¶
Index ¶
- Constants
- Variables
- func GetChecksum(data []byte) (string, error)
- func GetLogger(domain logdomain.ID) (*log.Logger, error)
- func GetLoggerStdout(domain logdomain.ID) (*log.Logger, error)
- func GetUUID() string
- func InitApp() (e error)
- func SetBaseDir(path string) error
- func TimeEqual(t1, t2 time.Time) bool
- type IDGen
Constants ¶
const ( AppName = "Hertz" Version = "0.11.0" TimestampFormatMinute = "2006-01-02 15:04" TimestampFormat = "2006-01-02 15:04:05" TimestampFormatSubSecond = "2006-01-02 15:04:05.0000 MST" TimestampFormatDate = "2006-01-02" TimestampFormatTime = "15:04:05" NetName = "udp4" BufSize = 65536 LiveTimeout = time.Minute ActiveTimeout = time.Second * 5 WebPort = 7666 )
AppName is the name under which the application identifies itself. Version is the version number. Debug, if true, causes the application to log additional messages and perform additional sanity checks. TimestampFormat is the default format for timestamp used throughout the application.
Variables ¶
var BaseDir = filepath.Join( krylib.GetHomeDirectory(), fmt.Sprintf(".%s.d", strings.ToLower(AppName)))
BaseDir is the folder where all application-specific files are stored. It defaults to $HOME/.Kuang2.d
var BlacklistPath = filepath.Join(BaseDir, "blacklist.db")
BlacklistPath is the path to the Blacklist.
CfgPath is the path to the config file (should we ever adopt using one).
DbPath is the filename of the database.
var Debug = true
Debug is the global debug flag. If true, it causes additional log messages and sanity checks.
var DoTrace = true
DoTrace causes the log level to be lowered to TRACE when set.
var LogLevels = []logutils.LogLevel{
"TRACE",
"DEBUG",
"INFO",
"WARN",
"ERROR",
"CRITICAL",
"CANTHAPPEN",
"SILENT",
}
LogLevels are the names of the log levels supported by the logger.
LogPath is the filename of the log file.
var MinLogLevel logutils.LogLevel = "TRACE"
MinLogLevel is the minimum level a log message must have to be written out to the log. This value is configurable to reduce log verbosity in regular use.
PackageLevels defines minimum log levels per package.
var SpoolDir = filepath.Join(BaseDir, "spool")
SpoolDir is the directory where Clients store their data before they send it to the Server.
var SuffixPattern = regexp.MustCompile("([.][^.]+)$")
SuffixPattern is a regular expression that matches the suffix of a file name. For "text.txt", it should match ".txt" and capture "txt".
Functions ¶
func GetChecksum ¶
GetChecksum computes the SHA512 checksum of the given data.
func GetLogger ¶
GetLogger tries to create a named logger instance and return it. If the directory to hold the log file does not exist, try to create it.
func GetLoggerStdout ¶
GetLoggerStdout returns a Logger that will log to stdout AND the log file.
func InitApp ¶
func InitApp() (e error)
InitApp performs some basic preparations for the application to run. Currently, this means creating the BaseDir folder.
func SetBaseDir ¶
SetBaseDir sets the application's base directory. This should only be done during initialization. Once the log file and the database are opened, this is useless at best and opens a world of confusion at worst, so this function should only be called at the very beginning of the program.