mirror of
https://github.com/shadow1ng/fscan.git
synced 2026-09-23 03:31:53 +08:00
105 lines
3.6 KiB
Go
105 lines
3.6 KiB
Go
package logging
|
||
|
||
/*
|
||
constants.go - 日志系统常量定义
|
||
|
||
统一管理common/logging包中的所有常量,便于查看和编辑。
|
||
*/
|
||
|
||
import (
|
||
"time"
|
||
|
||
"github.com/fatih/color"
|
||
)
|
||
|
||
// =============================================================================
|
||
// 日志级别常量 - 层级设计
|
||
// =============================================================================
|
||
|
||
// LogLevel 日志级别类型(数值越小越详细)
|
||
type LogLevel int
|
||
|
||
// 定义系统支持的日志级别常量(层级:Debug < Base < Info < Success < Vuln < Error)
|
||
const (
|
||
LevelDebug LogLevel = 0 // 调试信息(最详细)
|
||
LevelBase LogLevel = 1 // 基础信息(扫描进度等)
|
||
LevelInfo LogLevel = 2 // 一般信息(端口开放、服务识别等)
|
||
LevelSuccess LogLevel = 3 // 成功结果(Web指纹等)
|
||
LevelVuln LogLevel = 4 // 重要发现(弱密码、漏洞等)
|
||
LevelError LogLevel = 5 // 错误信息(始终显示)
|
||
)
|
||
|
||
// 向后兼容的别名
|
||
const (
|
||
LevelAll LogLevel = LevelDebug // ALL 等同于 Debug(显示所有)
|
||
LevelInfoSuccess LogLevel = LevelInfo // 废弃,映射到 Info
|
||
LevelBaseInfoSuccess LogLevel = LevelBase // 废弃,映射到 Base
|
||
)
|
||
|
||
// =============================================================================
|
||
// 时间显示常量 (从Formatter.go迁移)
|
||
// =============================================================================
|
||
|
||
const (
|
||
// MaxMillisecondDisplay 毫秒显示的最大时长
|
||
MaxMillisecondDisplay = time.Second
|
||
// MaxSecondDisplay 秒显示的最大时长
|
||
MaxSecondDisplay = time.Minute
|
||
// MaxMinuteDisplay 分钟显示的最大时长
|
||
MaxMinuteDisplay = time.Hour
|
||
|
||
// SlowOutputDelay 慢速输出延迟
|
||
SlowOutputDelay = 50 * time.Millisecond
|
||
|
||
// ProgressClearDelay 进度条清除延迟
|
||
ProgressClearDelay = 10 * time.Millisecond
|
||
)
|
||
|
||
// =============================================================================
|
||
// 日志前缀常量 (从Formatter.go迁移)
|
||
// =============================================================================
|
||
|
||
const (
|
||
// PrefixSuccess 成功日志前缀
|
||
PrefixSuccess = "[+]"
|
||
// PrefixVuln 漏洞/重要发现前缀
|
||
PrefixVuln = "[!]"
|
||
// PrefixInfo 信息日志前缀
|
||
PrefixInfo = "[*]"
|
||
// PrefixError 错误日志前缀
|
||
PrefixError = "[-]"
|
||
// PrefixDefault 默认日志前缀
|
||
PrefixDefault = " "
|
||
)
|
||
|
||
// =============================================================================
|
||
// 默认配置常量
|
||
// =============================================================================
|
||
|
||
const (
|
||
// DefaultLevel 默认日志级别
|
||
DefaultLevel = LevelAll
|
||
// DefaultEnableColor 默认启用彩色输出
|
||
DefaultEnableColor = true
|
||
// DefaultSlowOutput 默认不启用慢速输出
|
||
DefaultSlowOutput = false
|
||
// DefaultShowProgress 默认显示进度条
|
||
DefaultShowProgress = true
|
||
)
|
||
|
||
// =============================================================================
|
||
// 默认颜色映射
|
||
// =============================================================================
|
||
|
||
// GetDefaultLevelColors 获取默认的日志级别颜色映射
|
||
func GetDefaultLevelColors() map[LogLevel]interface{} {
|
||
return map[LogLevel]interface{}{
|
||
LevelError: color.FgYellow, // 错误日志显示黄色
|
||
LevelVuln: color.FgRed, // 漏洞/重要发现显示红色(密码成功、漏洞等)
|
||
LevelBase: color.FgWhite, // 基础日志显示白色(普通信息)
|
||
LevelInfo: color.FgWhite, // 信息日志显示白色(普通信息)
|
||
LevelSuccess: color.FgGreen, // 成功日志显示绿色(Web指纹等)
|
||
LevelDebug: color.FgWhite, // 调试日志显示白色
|
||
}
|
||
}
|