Показаны сообщения с ярлыком запись в файл в Go. Показать все сообщения
Показаны сообщения с ярлыком запись в файл в Go. Показать все сообщения

воскресенье, 19 июля 2020 г.

Пакет ioutil в Golang, функция WriteFile для записи в файл

func WriteFile(filename string, data []byte, perm os.FileMode) error

WriteFile записывает данные в файл с именем filename. Если файл не существует, WriteFile создает его с разрешениями perm (до umask); в противном случае WriteFile обрезает его перед записью.

Пример использования WriteFile

package main

import (
    "io/ioutil"
    "log"
)

func main() {
    message := []byte("Hello, Gophers!")
    err := ioutil.WriteFile("testdata/hello", message, 0644)
    if err != nil {
        log.Fatal(err)
    }
}


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


суббота, 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)


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