|
6 / 6 / 1
Регистрация: 09.02.2016
Сообщений: 296
|
|
Запись логов в файл. Последствия для памяти04.11.2024, 22:06. Показов 5421. Ответов 65
Метки нет (Все метки)
Вечер добрый!
У меня давно есть некий код, который я использую для логгирования своих приложений. Суть его в том, что при инициализации логгера задается максимальное количество строк для файла и приложение передает в него по одной строке, которая добавляется в конец файла. Каждый раз при добавлении проверяется, превысили ли мы максимально допустимое количество строк и если да, то логгер удаляет самую верхнюю строку текстового файла и т.д. При добавлении каждой строки происходит процедура открытия и закрытия файла. Подскажите пожалуйста, есть ли принципиальная разница в том, оставлять файл открытым или открывать и закрывать его при каждом добавлении сроки? Интересуют нюансы работы с памятью, в частности, не происходит ли при открытии и закрытии записи какой-то инфы в файл, что при частых манипуляциях может затирать досмерти ячейки памяти и т.п. Всем спасибо за участие!
0
|
|
| 04.11.2024, 22:06 | |
|
Ответы с готовыми решениями:
65
Запись логов в файл SpringBoot и запись логов в файл. - не пишет |
|
|
|||
| 06.02.2025, 22:08 | |||
|
В общем, некоторое время назад (задолго до этой темы на форуме) я наблюдал за такой дискуссией, где тоже было две стороны: одни топили за "то что написано в документации", а другие - более глубже залезли в вопрос и приводили весьма неоднозначные "пруфы" относительно процессов записи/дозаписи/вставки. То есть, фактически, понимание работы этих действий зависит от полноты картины - кто на сколько "залез в мешок". Вот и в этой теме я вспомнил про этот случай и выразил некоторые сомнения относительно методов в .NET. Ссылку выше я привел не зря: там отчетливо прослеживается куча небезопасных операций - и это только метод Append(). Если взглянуть на Insert() - будет еще жестче. Понятно дело, что самим фактом физической записи занимается ОС - здесь мы на нее повлиять не можем. Почти... Добавлено через 4 минуты Вот вы говорите про массивы - так и я про то же: чтобы что-то найти, нужно просмотреть от начала.
0
|
|||
| 07.02.2025, 09:25 | ||
|
Если же речь идёт о поиске значения в каком-то наборе простых данных, то да, их надо просмотреть все и понять оно-не оно. Почему выделил слово простых, потому что люди давно понимают, что это не рационально на больших объёмах данных или сложных наборов значений и для решения этой проблемы существуют самые разные ухищрения. Самый яркий пример это базы данных.
0
|
||
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
||||
| 07.02.2025, 09:42 | ||||
|
0
|
||||
|
|
|
| 07.02.2025, 11:24 | |
|
Uswer,
0
|
|
| 07.02.2025, 11:24 | |
|
Помогаю со студенческими работами здесь
66
Запись логов в файл из службы Windows
Уровни логирования SpringBoot и запись логов в файл. - не пишет :( Запись "логов" в файл Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
[golang] Breadth-First Search
alhaos 19.05.2026
BFS (Breadth-First Search) — это базовый алгоритм обхода графа в ширину, который поуровнево исследует все связанные вершины. Он начинает с выбранной точки и проверяет всех соседей, прежде чем. . .
|
[golang] Алгоритм «Хак Госпера»
alhaos 17.05.2026
Алгоритм «Хак Госпера»
Хак Госпера (Gosper's Hack) — алгоритм нахождения следующего по величине числа с тем же количеством установленных бит.
Придуман Биллом Госпером в 1970-х, опубликован в. . .
|
Рисование бинарного древа до 6-го колена на js, svg.
russiannick 17.05.2026
<svg width="335" height="240" viewBox="0 0 335 240" fill="#e5e1bb">
<style>
<!]>
</ style>
<g id="bush">
</ g>
</ svg>
function fn(){
let rost;/ / высота древа
let xx=165,yy=210,w=256;
|
FSharp: interface of module
DevAlt 16.05.2026
Интерфейс модуля F# позволяет управлять доступностью членов,
содержащихся в реализации модуля. По-умолчанию все члены модуля доступны:
module Foo
let x = 10
let boo () = printfn "boo"
. . .
|
|
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible". . .
|
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов.
import "math"
func angleClock(hour int, minutes int) float64 {
. . .
|
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo
https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html
и его же старой инструкции по установке Lazarus с gtk2. . .
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|