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

5173游戏交易网站源码网络运营需要学什么专业

5173游戏交易网站源码,网络运营需要学什么专业,水产食品企业网站模板,手机网站管理系统chatgpt#xff1a;编写日志rotate框架 场景 我们的网关服务等为了持久化日志以供排查问题#xff0c;往往将日志输出到文件#xff0c;此时如果文件太大#xff0c;可能导致磁盘被写满#xff0c;此时就需要对日志文件进行rotate#xff0c;以保存最新的日志 实现 pac…chatgpt编写日志rotate框架 场景 我们的网关服务等为了持久化日志以供排查问题往往将日志输出到文件此时如果文件太大可能导致磁盘被写满此时就需要对日志文件进行rotate以保存最新的日志 实现 package mainimport (fmtio/ioutilospath/filepathsortstrconvstringstime )type rollingFileManager struct {basePath stringfilename stringext stringmaxSize int64maxFiles int }func newRollingFileManager(basePath string, maxSize int64, maxFiles int) *rollingFileManager {return rollingFileManager{basePath: basePath,filename: log,ext: .txt,maxSize: maxSize,maxFiles: maxFiles,} }func (fm *rollingFileManager) getCurrentFilename() string {return filepath.Join(fm.basePath, fm.filenamefm.ext) }func (fm *rollingFileManager) getNewFilename() string {timestamp : strconv.FormatInt(time.Now().Unix(), 10)counter : 0filename : fmt.Sprintf(%s_%s_%d%s, fm.filename, timestamp, counter, fm.ext)for {if _, err : os.Stat(filepath.Join(fm.basePath, filename)); os.IsNotExist(err) {break}counterfilename fmt.Sprintf(%s_%s_%d%s, fm.filename, timestamp, counter, fm.ext)}return filepath.Join(fm.basePath, filename) }func (fm *rollingFileManager) rollFile() error {path : fm.getNewFilename()err : os.Rename(fm.getCurrentFilename(), path)if err ! nil {return err}fmt.Println(Rolled file:, path)// Check and remove oldest filereturn fm.removeOldestFile() }func (fm *rollingFileManager) removeOldestFile() error {files, err : ioutil.ReadDir(fm.basePath)if err ! nil {return err}type logFile struct {name stringtime time.Time}var logFiles []logFilefor _, file : range files {if strings.HasPrefix(file.Name(), fm.filename_) strings.HasSuffix(file.Name(), fm.ext) {logFiles append(logFiles, logFile{file.Name(), file.ModTime()})}}if len(logFiles) fm.maxFiles {sort.Slice(logFiles, func(i, j int) bool {return logFiles[i].time.Before(logFiles[j].time)})err : os.Remove(filepath.Join(fm.basePath, logFiles[0].name))if err ! nil {return err}fmt.Println(Removed oldest file:, logFiles[0].name)}return nil }func (fm *rollingFileManager) checkAndRoll() error {fileInfo, err : os.Stat(fm.getCurrentFilename())if err ! nil {return err}if fileInfo.Size() fm.maxSize {return fm.rollFile()}return nil }func main() {// 设置滚动更新管理器指定文件大小上限例如100KB和最大文件个数例如5fm : newRollingFileManager(., 100*1024, 5)// 每隔 5 秒检查文件大小并执行滚动操作ticker : time.NewTicker(5 * time.Second)quit : make(chan struct{})defer close(quit)go func() {for {select {case -ticker.C:err : fm.checkAndRoll()if err ! nil {log.Println(Error rolling:, err)}case -quit:ticker.Stop()return}}}()// 模拟程序运行让文件管理器有机会执行滚动操作time.Sleep(10 * time.Minute) }
http://www.yutouwan.com/news/291659/

相关文章:

  • 乐山网站营销推广哪家公司好上海火迎网络推广运营优化
  • 反馈网站制作旅游网站建设的重要性
  • 电商网站建设代理商网站名称填写什么
  • 陕西建设厅人才网站ps网站设计与制作
  • 虚拟机怎么做网站建站公司前景
  • 上海市建设工程 安全协会网站花西子网络营销策划方案
  • 做手机网站公司怎么建设网站
  • 网上服装商城网站建设方案自己网站的登录api怎么做
  • 做qq群头像网站wordpress描述怎么改
  • asp网站防攻击音乐展示网站建设平台
  • html网站代码服装网站建设效果
  • 网站上怎么做游戏wordpress修改底部版权
  • 芜湖网站 建设网站开发厂商
  • 做网站的网络非要专线吗手机网站如何优化
  • 天睦和生态建设有限公司网站度假村网站模板
  • 网页标准化对网站开发维护者的好处如何建设一个国际化的网站
  • 做的网站名阿里云建设个人网站
  • 吴忠网站建设公司中医院网站建设方案
  • 电商网站建设多少钱下载app赚钱的平台
  • 用dw做的企业网站重庆手机网站制作
  • 做网站的登陆功能湖北做网站系统哪家好
  • 宣传网站建设的步骤响应式网页设计技术
  • 查内部券的网站是怎么做的品牌自适应网站建设
  • 网站建设冖金手指花总十四网站建设开发计划书
  • 制作一个企业网站多少钱北京建设教育协会网站首页
  • 福州网站设计哪里建站网站建设有证书吗
  • 广扬建设集团网站html5可以做手机网站吗
  • 搜索网站的浏览器开发安卓软件需要学什么
  • 台州网站推广排名东莞全网营销推广
  • wordpress 建站对比无锡谁会建商务网站