golang判断目录是否存在和生成日志文件

package main

import (

"fmt"

"io"

"os"

"time"

"github.com/sirupsen/logrus"

)

func main() {

defer func() {

err := recover()

if err != nil {

logrus.Info(err)

}

}()

log_path := "runtime/logs/"

_, err := os.Stat(log_path)

if err != nil {

if os.IsNotExist(err) {

err = os.MkdirAll(log_path, 0755)

if err != nil {

logrus.Fatal("目录创建错误", err)

}

}

}

log_file := log_path + "error" + time.Now().Format("2006-01-02") + ".log"

fd, err := os.OpenFile(log_file, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644)

if err != nil {

logrus.Info("打开文件错误", err)

return

}

logrus.SetOutput(io.MultiWriter(os.Stdout, fd))

Test(1, 0)

}

func Test(x int, y int) {

a := x / y

fmt.Println(a)

}

相关推荐
YGGP1 小时前
3D 版接雨水
golang
脚踏实地的大梦想家7 小时前
【Go】P2 Golang 常量与变量
开发语言·后端·golang
张璐月7 小时前
go docker-compose启动前后端分离项目 踩坑之旅
开发语言·docker·golang
福大大架构师每日一题10 小时前
go 1.25.1发布:重点修复net/http跨域保护安全漏洞(CVE-2025-47910)
开发语言·http·golang
Dear.爬虫10 小时前
Golang中逃逸现象, 变量“何时栈?何时堆?”
开发语言·后端·golang
参.商.10 小时前
【Day21】146.LRU缓存 (Least Recently Used)
leetcode·缓存·golang
澡点睡觉14 小时前
【golang长途旅行第38站】工厂模式
开发语言·后端·golang
0wioiw01 天前
Go基础(④指针)
开发语言·后端·golang
Edward.W1 天前
用 Go + HTML 实现 OpenHarmony 投屏(hdckit-go + WebSocket + Canvas 实战)
开发语言·后端·golang