MST

星途 面试题库

面试题:Go语言中如何实现基础的错误日志记录

在Go语言中,假设你正在开发一个简单的文件读取函数,当文件读取失败时,需要记录详细的错误日志到一个文件中。请描述实现该功能的基本步骤,并给出关键代码示例。
16.2万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
  1. 基本步骤
    • 打开要读取的文件。
    • 读取文件内容。
    • 如果读取失败,记录详细错误日志到指定日志文件。
    • 关闭文件。
  2. 关键代码示例
package main

import (
    "fmt"
    "io/ioutil"
    "log"
)

func readFile(filePath string, logFilePath string) {
    data, err := ioutil.ReadFile(filePath)
    if err != nil {
        // 记录错误日志
        logFile, err := log.OpenFile(logFilePath, log.LstdFlags, 0644)
        if err != nil {
            fmt.Printf("无法打开日志文件: %v\n", err)
            return
        }
        defer logFile.Close()
        logger := log.New(logFile, "", log.LstdFlags)
        logger.Printf("读取文件 %s 失败: %v\n", filePath, err)
        return
    }
    fmt.Printf("文件内容: %s\n", data)
}

你可以使用以下方式调用这个函数:

func main() {
    readFile("test.txt", "error.log")
}