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.mzph.cn/news/886841.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

100.【C语言】数据结构之二叉树的堆实现 上

目录 1.顺序结构 2.示意图 ​编辑 从物理结构还原为逻辑结构的方法 3.父子节点编号的规律 4.顺序存储的前提条件 5.堆的简介 堆的定义 小根堆和大根堆 6.堆的插入 7.堆的实现及操作堆的函数 堆的结构体定义 堆初始化函数HeapInit 堆插入元素函数HeapPush 堆向上…

Ubuntu Linux使用前准备动作_使用root登录图形化界面

Ubuntu默认是不允许使用 root 登录图形化界面的。这是出于安全考虑的设置。但如果有需要,可以通过以下步骤来实现使用 root 登录: 1、设置 root 密码 打开终端,使用当前的管理员账户登录系统。在终端中输入命令sudo passwd root&#xff0c…

博客摘录「 nvm安装与使用详解(Window11)」2024年4月10日

nvm -v nvm安装详细教程(安装nvm、node、npm、cnpm、yarn及环境变量配置)-CSDN博客

我们来学mysql -- EXPLAIN之type(原理篇)

EXPLAIN之type 题记示例表type 题记 书接上文《 EXPLAIN之select_type》2024美国大选已定,川普剑登上铁王座,在此过程中出谋划策的幕僚很重要,是他们决定了最终的执行计划在《查询成本之索引选择》中提到,explain的输出&#xff…

【拥抱AI】对比embedding模型gte-Qwen2-7B-instruct和bge-m3:latest(三)

为了更全面地评估 gte-Qwen2-7B-instruct 和 bge-m3:latest 的性能,我们可以从以下几个方面进行详细比较: 1. 模型架构和规模 gte-Qwen2-7B-instruct 架构:基于Transformer的大型语言模型。参数量:7B参数,具有较强的…

HTB:MonitorsTwo[WriteUP]

连接至HTB服务器并启动靶机 靶机IP:10.10.11.211 分配IP:10.10.16.7 信息搜集 使用rustscan对靶机TCP端口进行开放扫描 rustscan -a 10.10.11.211 -r 1-65535 使用nmap对靶机开放端口进行脚本、服务扫描 nmap -p 22,80 -sCV 10.10.11.211 漏洞利用 使…

Keepalived部署

Keepalived部署 安装配置单VIP模式配置master节点查看节点IP信息配置 keepalived.conf启动且加入开机自启查看是否生效 配置backup节点配置 keepalived.conf启动且加入开机自启查看是否生效 主备测试 多VIP配置 keepalived.conf查看IP 安装 dnf install -y keepalived配置 单…

【MySql】实验五 综合练习:学生成绩管理系统

文章目录 数据库设计与查询实践:学生成绩管理系统表结构设计学生信息表 student_info课程信息表 curriculum成绩表 grade1. 查询选修课的人数2. 查询学号为0001、0002、0003、0004的学生的姓名和出生日期3. 向grade表插入一条记录,学号为0004、课程编号为…

Android U 多任务启动分屏——SystemUI流程(更新中)

前文 Android U 多任务启动分屏——Launcher流程(下分屏) 前文说到通过ISplitScreen接口跨进程调用到了SystemUI进程,我们继续分析分屏在systemui中的实现。 wmshell实现分屏 实现ISplitScreen接口 代码路径:frameworks/base/…

ASCB1系列APP操控末端回路智能微断 物联网断路器 远程控制开关 学校、工厂、农场、商业大楼等可用

安科瑞戴婷 Acrel-Fanny ASCB1系列智能微型断路器是安科瑞电气股份有限公司全新推出的智慧用电产品,产品由智能微型断路器与智能网关两部分组成,可用于对用电线路的关键电气因素,如电压、电流、功率、温度、漏电、能耗等进行实时监测&#x…

微知-plantuml常用语法和要点以及模板?(note over、create、box,endbox、alt,else,end, autonumber)

文章目录 常见语法常用 线条类实线虚线斜箭头或奇数箭头 A ->(10) B: B->(10) A分割线:newpage 颜色类给箭头指定颜色 -[#red]->给某个note加颜色: note over Alice, Bob #FFAAAA: xxx给分组信息着色 alt#red 分组类alt xxx; else xxx; else xx…

采用python3.12 +django5.1 结合 RabbitMQ 和发送邮件功能,实现一个简单的告警系统 前后端分离 vue-element

一、开发环境搭建和配置 #mac环境 brew install python3.12 python3.12 --version python3.12 -m pip install --upgrade pip python3.12 -m pip install Django5.1 python3.12 -m django --version #用于检索系统信息和进程管理 python3.12 -m pip install psutil #集成 pika…

渗透学习之windows基础

引路Windows基础之病毒编写(完结)_哔哩哔哩_bilibili windows基础(2) 21 ftp 23 tenlet 80 web 80-89 可能是web 443 ssl心脏滴血漏洞以及一些web漏洞测试 445 smb 1433 msspl 1521 oracle 2082/2083 cpanel 主机管理系…

Spark RDD sortBy算子执行时进行数据 “采样”是什么意思?

一、sortBy 和 RangePartitioner sortBy 在 Spark 中会在执行排序时采用 rangePartitioner 进行分区,这会影响数据的分区方式,并且这一步骤是通过对数据进行 “采样” 来计算分区的范围。不过,重要的是,sortBy 本身仍然是一个 tr…

深入探讨 Puppeteer 如何使用 X 和 Y 坐标实现鼠标移动

背景介绍 现代爬虫技术中,模拟人类行为已成为绕过反爬虫系统的关键策略之一。无论是模拟用户点击、滚动,还是鼠标的轨迹移动,都可以为爬虫脚本带来更高的“伪装性”。在众多的自动化工具中,Puppeteer作为一个无头浏览器控制库&am…

【学术论文投稿】JavaScript 前端开发:从入门到精通的奇幻之旅

【中文核刊&普刊投稿通道】2024年体育科技与运动表现分析国际学术会议(ICSTPA 2024)_艾思科蓝_学术一站式服务平台 更多学术会议论文投稿请看:https://ais.cn/u/nuyAF3 目录 一、引言 二、JavaScript 基础 (一)变量与数据类型 &am…

java实现枚举

介绍 枚举算法也叫暴力算法,是一种简单直接的问题求解方法,它通过逐一列举问题的所有可能解,并检查每个可能解是否符合问题的条件,直到找到正确的解或者遍历完所有可能的情况。 对于一个问题,首先确定解的范围&#x…

Leetcode 最长回文子串

目录 解法1:递归算法 解法2:Map取同字母位置法 解法3:中心扩展法 解法4:动态规划法 解法5: Manacher算法 示例 1: 输入:s "babad" 输出:"bab" 解释:&quo…

B树的简单实现

template<class K, size_t M> struct BTreeNode {K _keys[M]; // 用于存储关键字的数组&#xff0c;最多容纳 M 个关键字&#xff08;超额一个&#xff0c;为分裂提供空间&#xff09;。BTreeNode<K, M>* _subs[M 1]; // 存储子节点的指针数组&#xff0c;最多 M1…

2020 年 9 月青少年软编等考 C 语言三级真题解析

目录 T1. 因子问题思路分析T2. 质数的和与积思路分析T3. 括号匹配问题思路分析T4. 吃糖果 2思路分析T5. 铺砖思路分析T1. 因子问题 任给两个正整数 n n n、 m m m,求一个最小的正整数 a a a,使得 a a a 和 ( m − a ) (m-a) (m−a) 都是 n n n 的因子。 时间限制:1 s…