当前位置: 首页 > article >正文

golang通用后台管理系统09(系统操作日志记录)

1.日志工具类

package log


/****
日志记录
wangwei
2024-11-18 15:30
 */
import (
	"log"
	"os"
	"path/filepath"
	"time"
)

// 获取以当前日期命名的日志文件路径
func getLogFilePath() string {
	currentDate := time.Now().Format("2006-01-02")
	logDir := "/home/logs/" // 这里替换为你实际想要的系统指定目录路径
	logFileName := currentDate + ".log"
	return filepath.Join(logDir, logFileName)
}

// 初始化日志记录器
func InitLogger() *log.Logger {
	logFilePath := getLogFilePath()

	// 创建日志文件所在目录(如果不存在)
	logDir := filepath.Dir(logFilePath)
	err := os.MkdirAll(logDir, os.ModePerm)
	if err!= nil {
		log.Fatalf("创建日志文件目录失败:%v", err)
	}

	// 打开日志文件,以追加模式写入
	logFile, err := os.OpenFile(logFilePath, os.O_CREATE|os.O_APPEND|os.O_WRONLY, os.ModePerm)
	if err!= nil {
		log.Fatalf("打开日志文件失败:%v", err)
	}

	return log.New(logFile, "", log.LstdFlags)
}

2.使用

	//日志记录
	logger := commonLog.InitLogger()


	// 记录一些示例操作日志
	logger.Println("这是一条操作日志:用户登录系统")
	logger.Println("这是一条操作日志:执行了某个任务")

3.测试


http://www.kler.cn/a/400760.html

相关文章:

  • 数据分析24.11.13
  • DNS with libevent
  • JDK17 安装使用
  • Gin 框架入门(GO)-1
  • WebRTC视频 02 - 视频采集类 VideoCaptureModule
  • C++深度搜索(2)
  • MySQL —— MySQL索引介绍、索引数据结构、聚集索引和辅助索引、索引覆盖
  • C#.Net筑基-模式匹配汇总
  • 剧本杀门店预约小程序,解锁沉浸式推理体验
  • 热点更新场景,OceanBase如何实现性能优化
  • Debezium-EmbeddedEngine
  • 基于云计算的文件存储与共享平台开发
  • 创新实践:基于边缘智能+扣子的智能轮椅 AIoT 解决方案
  • CSDN如何写出”爆款“文章
  • 计算机视觉在自动驾驶汽车中的应用
  • vscode执行npm install报错
  • LeetCode35:搜索插入位置
  • LeetCode 力扣 热题 100道(五)最长回文子串(C++)
  • vue2/vue3中使用的富文本编辑器vue-quill
  • ❤React-React 组件通讯
  • Solidity 智能合约安全漏洞——普通重入攻击
  • Linux下安装mysql8.0版本
  • Debezium-MySqlConnectorTask
  • 退款成功订阅消息点击后提示订单不存在
  • 【qt】控件1
  • 平台整合是网络安全成功的关键