mirror of
https://github.com/shadow1ng/fscan.git
synced 2026-09-23 03:31:53 +08:00
feat: 优化日志颜色方案,区分漏洞和普通信息
- 新增 LogVuln 级别(红色),用于漏洞和重要发现 - 密码爆破成功、未授权访问、POC漏洞等改用红色显示 - 普通信息(扫描统计等)改为白色 - Web指纹保持绿色
This commit is contained in:
+4
-1
@@ -72,8 +72,11 @@ func LogBase(msg string) { getGlobalLogger().Base(msg) }
|
||||
// LogInfo 输出信息日志
|
||||
func LogInfo(msg string) { getGlobalLogger().Info(msg) }
|
||||
|
||||
// LogSuccess 输出成功日志
|
||||
// LogSuccess 输出成功日志(Web指纹等)
|
||||
func LogSuccess(result string) { getGlobalLogger().Success(result) }
|
||||
|
||||
// LogVuln 输出漏洞/重要发现日志(密码成功、漏洞等)
|
||||
func LogVuln(result string) { getGlobalLogger().Vuln(result) }
|
||||
|
||||
// LogError 输出错误日志
|
||||
func LogError(errMsg string) { getGlobalLogger().Error(errMsg) }
|
||||
|
||||
@@ -25,7 +25,8 @@ const (
|
||||
LevelError LogLevel = "ERROR" // 仅显示错误日志
|
||||
LevelBase LogLevel = "BASE" // 仅显示基础信息日志
|
||||
LevelInfo LogLevel = "INFO" // 仅显示信息日志
|
||||
LevelSuccess LogLevel = "SUCCESS" // 仅显示成功日志
|
||||
LevelSuccess LogLevel = "SUCCESS" // 仅显示成功日志(Web指纹等)
|
||||
LevelVuln LogLevel = "VULN" // 漏洞和重要发现(密码成功、漏洞等)
|
||||
LevelDebug LogLevel = "DEBUG" // 仅显示调试日志
|
||||
LevelInfoSuccess LogLevel = "INFO_SUCCESS" // 仅显示信息和成功日志
|
||||
LevelBaseInfoSuccess LogLevel = "BASE_INFO_SUCCESS" // 显示基础、信息和成功日志
|
||||
@@ -57,6 +58,8 @@ const (
|
||||
const (
|
||||
// PrefixSuccess 成功日志前缀
|
||||
PrefixSuccess = "[+]"
|
||||
// PrefixVuln 漏洞/重要发现前缀
|
||||
PrefixVuln = "[!]"
|
||||
// PrefixInfo 信息日志前缀
|
||||
PrefixInfo = "[*]"
|
||||
// PrefixError 错误日志前缀
|
||||
@@ -87,10 +90,11 @@ const (
|
||||
// GetDefaultLevelColors 获取默认的日志级别颜色映射
|
||||
func GetDefaultLevelColors() map[LogLevel]interface{} {
|
||||
return map[LogLevel]interface{}{
|
||||
LevelError: color.FgRed, // 错误日志显示红色(危险/错误)
|
||||
LevelBase: color.FgYellow, // 基础日志显示黄色(警告/提示)
|
||||
LevelInfo: color.FgCyan, // 信息日志显示青色(中性信息)
|
||||
LevelSuccess: color.FgGreen, // 成功日志显示绿色(成功/通过)
|
||||
LevelDebug: color.FgWhite, // 调试日志显示白色(详细信息)
|
||||
LevelError: color.FgRed, // 错误日志显示红色
|
||||
LevelVuln: color.FgRed, // 漏洞/重要发现显示红色(密码成功、漏洞等)
|
||||
LevelBase: color.FgWhite, // 基础日志显示白色(普通信息)
|
||||
LevelInfo: color.FgWhite, // 信息日志显示白色(普通信息)
|
||||
LevelSuccess: color.FgGreen, // 成功日志显示绿色(Web指纹等)
|
||||
LevelDebug: color.FgWhite, // 调试日志显示白色
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,6 +95,11 @@ func (l *Logger) Success(msg string) {
|
||||
l.log(LevelSuccess, msg)
|
||||
}
|
||||
|
||||
// Vuln 输出漏洞/重要发现信息
|
||||
func (l *Logger) Vuln(msg string) {
|
||||
l.log(LevelVuln, msg)
|
||||
}
|
||||
|
||||
// Error 输出错误信息
|
||||
func (l *Logger) Error(msg string) {
|
||||
l.log(LevelError, msg)
|
||||
@@ -130,6 +135,8 @@ func (l *Logger) shouldLog(level LogLevel) bool {
|
||||
return true
|
||||
case LevelError:
|
||||
return level == LevelError
|
||||
case LevelVuln:
|
||||
return level == LevelVuln
|
||||
case LevelBase:
|
||||
return level == LevelBase
|
||||
case LevelInfo:
|
||||
@@ -139,15 +146,15 @@ func (l *Logger) shouldLog(level LogLevel) bool {
|
||||
case LevelDebug:
|
||||
return level == LevelDebug
|
||||
case LevelInfoSuccess:
|
||||
return level == LevelInfo || level == LevelSuccess
|
||||
return level == LevelInfo || level == LevelSuccess || level == LevelVuln
|
||||
case LevelBaseInfoSuccess:
|
||||
return level == LevelBase || level == LevelInfo || level == LevelSuccess
|
||||
return level == LevelBase || level == LevelInfo || level == LevelSuccess || level == LevelVuln
|
||||
default:
|
||||
// 向后兼容:字符串"debug"显示所有
|
||||
if string(l.config.Level) == "debug" {
|
||||
return true
|
||||
}
|
||||
return level == LevelInfo || level == LevelSuccess
|
||||
return level == LevelInfo || level == LevelSuccess || level == LevelVuln
|
||||
}
|
||||
}
|
||||
|
||||
@@ -201,6 +208,8 @@ func (l *Logger) formatElapsedTime(elapsed time.Duration) string {
|
||||
// getLevelPrefix 获取日志级别前缀
|
||||
func (l *Logger) getLevelPrefix(level LogLevel) string {
|
||||
switch level {
|
||||
case LevelVuln:
|
||||
return PrefixVuln
|
||||
case LevelSuccess:
|
||||
return PrefixSuccess
|
||||
case LevelInfo:
|
||||
|
||||
Reference in New Issue
Block a user