суббота, 18 апреля 2020 г.

Добавить текст в файл, записать лог в Golang

Этот код добавляет строку текста в файл text.log. Он создает файл, если он еще не существует.

f, err := os.OpenFile("text.log",
    os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
if err != nil {
    log.Println(err)
}
defer f.Close()
if _, err := f.WriteString("текст\n"); err != nil {
    log.Println(err)
}

Если вы добавляете текст в файл для целей ведения журнала, тогда используйте следующий пример. Этот код добавляет сообщение журнала в файл text.log. Он создает файл, если он еще не существует.

f, err := os.OpenFile("text.log",
    os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
if err != nil {
    log.Println(err)
}
defer f.Close()

logger := log.New(f, "префикс: ", log.LstdFlags)
logger.Println("текст для добавления")
logger.Println("еще текст для добавления")

Содержимое text.log:

префикс: 2020/04/18 07:52:58 текст для добавления
префикс: 2020/04/18 07:52:58 еще текст для добавления

  • log.New создает новый log.Logger, который пишет в f.
  • "префикс: " появляется в начале каждой сгенерированной строки журнала.
  • Аргумент flag определяет, какой текст добавлять к каждой записи журнала. В приведенном примере LstdFlags - это флаг добавляющий запись даты и времени.

Отключить ведение журнала

Чтобы отключить все выходные данные из log.Logger, задайте в качестве места назначения вывода ioutil.Discard, средство записи, для которого все вызовы завершаются успешно, ничего не делая.

log.SetOutput(ioutil.Discard)


Читайте также:


Комментариев нет:

Отправить комментарий