|
|
|
ДОПИСЫВАТЬ текст.файл - не открывая его
|
|||
|---|---|---|---|
|
#18+
Доброго дня господа ! Делаю лог-файл по набору действий пользователя и системы, его объемы велики. Как и чем можно "ДОПИСЫВАТЬ" файл, чрезмерно не загружая память. AssignFile на больших объемах дает эпизодическую ошибку TStringList - читает весь объем ранее сохраненных строк CreateFile Windows AP ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2020, 14:12 |
|
||
|
ДОПИСЫВАТЬ текст.файл - не открывая его
|
|||
|---|---|---|---|
|
#18+
HOME_X, CreateFile Windows API - не часто использовал чтобы дать оценку объема Может есть еще варианты Заранее благодарен ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2020, 14:13 |
|
||
|
ДОПИСЫВАТЬ текст.файл - не открывая его
|
|||
|---|---|---|---|
|
#18+
HOME_XAssignFile на больших объемах дает эпизодическую ошибку "Чо?" (с) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2020, 14:20 |
|
||
|
ДОПИСЫВАТЬ текст.файл - не открывая его
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov HOME_XAssignFile на больших объемах дает эпизодическую ошибку "Чо?" (с) На объеме в 17 M и выше ошибка I/0 32 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2020, 14:23 |
|
||
|
ДОПИСЫВАТЬ текст.файл - не открывая его
|
|||
|---|---|---|---|
|
#18+
HOME_XНа объеме в 17 M и выше ошибка I/0 32 I/O ошибки располагаются в диапазоне 100-149, что-то ты путаешь. Ошибка 32 у Windows это ERROR_SHARING_VIOLATION и от объёма не зависит. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2020, 14:40 |
|
||
|
ДОПИСЫВАТЬ текст.файл - не открывая его
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2020, 14:59 |
|
||
|
ДОПИСЫВАТЬ текст.файл - не открывая его
|
|||
|---|---|---|---|
|
#18+
Может лучше и правильней использовать готовые системы логирования? CiodeSite, Log4Delphi, loggerpro, TMS Logging, GrijjyCloudLogger... https://github.com/Fr0sT-Brutal/awesome-pascal#logging ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2020, 15:03 |
|
||
|
ДОПИСЫВАТЬ текст.файл - не открывая его
|
|||
|---|---|---|---|
|
#18+
HOME_X Делаю лог-файл по набору действий пользователя и системы, его объемы велики. Да ну правда что ли? HOME_X Как и чем можно "ДОПИСЫВАТЬ" файл, чрезмерно не загружая память. Судя по формулировке вопроса, стоит использовать средства классического Турбо Паскаля, то есть Assign (который стал AssignFile) + Append (который остался Append) + WriteLn. HOME_X AssignFile на больших объемах дает эпизодическую ошибку Кривыми руками всё что угодно будет давать эпизодическую ошибку. Или даже не эпизодическую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2020, 15:05 |
|
||
|
ДОПИСЫВАТЬ текст.файл - не открывая его
|
|||
|---|---|---|---|
|
#18+
softwarer Или даже не эпизодическую. Например - где здесь может быть ошибка Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2020, 15:37 |
|
||
|
ДОПИСЫВАТЬ текст.файл - не открывая его
|
|||
|---|---|---|---|
|
#18+
X11 Может лучше и правильней использовать готовые системы логирования? CiodeSite, Log4Delphi, loggerpro, TMS Logging, GrijjyCloudLogger... https://github.com/Fr0sT-Brutal/awesome-pascal#logging Cпасибо ! Принято к изучению ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2020, 15:39 |
|
||
|
ДОПИСЫВАТЬ текст.файл - не открывая его
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov HOME_XНа объеме в 17 M и выше ошибка I/0 32 I/O ошибки располагаются в диапазоне 100-149, что-то ты путаешь. Ошибка 32 у Windows это ERROR_SHARING_VIOLATION и от объёма не зависит. Забыл сказать это все находиться в DLL .... Сейчас буду "прострочно" ловить ошибку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2020, 15:42 |
|
||
|
ДОПИСЫВАТЬ текст.файл - не открывая его
|
|||
|---|---|---|---|
|
#18+
HOME_X softwarer Или даже не эпизодическую. Например - где здесь может быть ошибка Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2020, 15:48 |
|
||
|
ДОПИСЫВАТЬ текст.файл - не открывая его
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov HOME_XНа объеме в 17 M и выше ошибка I/0 32 I/O ошибки располагаются в диапазоне 100-149, что-то ты путаешь. Ошибка 32 у Windows это ERROR_SHARING_VIOLATION и от объёма не зависит. Немного соврал - согласен - ОТМОЛИМ !!!! Каждая команда заключена в свой except Команда Append - начало ошибки Опять же на больших объемах свыше 15-17 Mb Операционка Win10 for 64bit Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2020, 17:06 |
|
||
|
ДОПИСЫВАТЬ текст.файл - не открывая его
|
|||
|---|---|---|---|
|
#18+
HOME_X Забыл сказать это все находиться в DLL .... А еще и имя файла как String наверное туда передавали.... ? Сначала добейтесь нормальной работы в обычном exe, а затем уже на dll переходите. Если получили ERROR_SHARING_VIOLATION, то этот объект уже кем-то открыт. Возможно Вашей предыдущей программой или еще чем-либо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2020, 17:37 |
|
||
|
ДОПИСЫВАТЬ текст.файл - не открывая его
|
|||
|---|---|---|---|
|
#18+
Александр Спелицин HOME_X Забыл сказать это все находиться в DLL .... А еще и имя файла как String наверное туда передавали.... ? Сначала добейтесь нормальной работы в обычном exe, а затем уже на dll переходите. Если получили ERROR_SHARING_VIOLATION, то этот объект уже кем-то открыт. Возможно Вашей предыдущей программой или еще чем-либо. - Имя файла представлено и сохранено ВНУТРИ DLL в качестве поля обьекта - тип поля String Из вне передаю как PAnsiChar Код: pascal 1. В DLL работало свыше года - пока не достигло некоторых объемов При малых обьемах даже намека не было на ошибку ERROR_SHARING_VIOLATION Запись в TXT - лог в данном конкретном месте ведеться в цикле Можно ли предположить что предидущая итерация цикла не успевает сбросить весь обьем текстовика на диск а следующая итерация цикла пытаеться открыть этот файл ? Такое предположение к месту ? Как проверить - устранить ? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2020, 19:19 |
|
||
|
ДОПИСЫВАТЬ текст.файл - не открывая его
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2020, 19:31 |
|
||
|
ДОПИСЫВАТЬ текст.файл - не открывая его
|
|||
|---|---|---|---|
|
#18+
HOME_X, Код: pascal 1. Не фига не помогает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2020, 00:16 |
|
||
|
ДОПИСЫВАТЬ текст.файл - не открывая его
|
|||
|---|---|---|---|
|
#18+
HOME_XНе фига не помогает А с чего ты решил, что должно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2020, 01:14 |
|
||
|
ДОПИСЫВАТЬ текст.файл - не открывая его
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, поставил задержку во времени и повтор открытия Помогло ! Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. CloseFile - не успевает зафетчить файл на диск Первичный вопрос актуален - как дописывать файл НЕ ОТКРЫВАЯ и не загружая его целяком Спасибо ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2020, 02:12 |
|
||
|
ДОПИСЫВАТЬ текст.файл - не открывая его
|
|||
|---|---|---|---|
|
#18+
HOME_X Первичный вопрос актуален - как дописывать файл НЕ ОТКРЫВАЯ отвечает Александр ДрузьА зачем его закрывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2020, 02:22 |
|
||
|
ДОПИСЫВАТЬ текст.файл - не открывая его
|
|||
|---|---|---|---|
|
#18+
HOME_X, посмотрите TFileStream это очень мощное и быстрое средство ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2020, 02:48 |
|
||
|
ДОПИСЫВАТЬ текст.файл - не открывая его
|
|||
|---|---|---|---|
|
#18+
HOME_X Первичный вопрос актуален - как дописывать файл НЕ ОТКРЫВАЯ и не загружая его целяком Не открывая - это круто. Силой мысли? :) Посмотри в https://github.com/wadman/wthread модуль wlog. Потокобезопасно и без конфликтов между записями в файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2020, 10:06 |
|
||
|
ДОПИСЫВАТЬ текст.файл - не открывая его
|
|||
|---|---|---|---|
|
#18+
У меня многопоточный логгер на винапи с открытием-закрытием на каждый вызов, порядка 100 записей в секунду, никаких "эпизодических ошибок", так что ошибка явно не в средствах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2020, 11:32 |
|
||
|
ДОПИСЫВАТЬ текст.файл - не открывая его
|
|||
|---|---|---|---|
|
#18+
HOME_Xпоставил задержку во времени и повтор открытия Помогло ! Нет, не помогло. Всего лишь чуть-чуть уменьшило вероятность конфликтов, а кроме того, теперь твоя DLL вгоняет вызывающую программу в ступор, роняя её производительность под плинтус. В морг. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2020, 13:52 |
|
||
|
ДОПИСЫВАТЬ текст.файл - не открывая его
|
|||
|---|---|---|---|
|
#18+
Класс для логирования. Пишет по кругу файл с максимальным размером 64МБ Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2020, 14:03 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40027406&tid=2037777]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
158ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 486ms |

| 0 / 0 |
