powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Использование журнала – LOG
4 сообщений из 4, страница 1 из 1
Использование журнала – LOG
    #35036907
Not_Host
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
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.
 1 . как правильно – держать открытым журнал 
На всё время работы приложения, допустим  16  часов ежедневно
Или для записи сообщения открыть журнал,
Записать сообщение ( допустим Открытие окна_1 ),
Закрыть и так для каждого сообщения.
Или закрывать журнал при закрытии приложения?
 2 . 
В журнал записывается только такие сообщения:
 27 . 12 . 2007   00 : 47 : 03   Starting Application
 27 . 12 . 2007   00 : 43 : 34   Opening window w_1
Не могу записать
 24 . 12 . 2007   15 : 42 : 00  Ending Application
 27 . 12 . 2007   00 : 43 : 34  Closing window w_1
Пример использую объекты:
gnv_logmanager.uf_WriteToLog(Ending Application, 0 )

Первый раз файл журнала log_1.txt находится

IF is_logfilename = "" THEN   // если не найден файл журнала
	MessageBox("Function Name:  uf_WriteToLog","81a~nno log file name")	
	RETURN True  // no log file name
ELSE		//  если имя log-file ПРИСУТСТВУЕТ
	MessageBox("Function Name:  uf_WriteErrorToLog","81b~nlog file name = ~n" + &
	is_logfilename)	// display  'd:\logfile_1.txt'
END IF
IF ii_logging =  0       THEN 
	MessageBox("uf_WriteToLog","81r~nii_logging = 0")		
	RETURN True  // non-error logging is disabled
END IF

Для записи  2 -ух последних сообщений 
Выводится сообщение 
Не записывает тогда, когда переменная 
is_logfilename = "".
Где искать исчезновение пути 'd:\logfile_1.txt'
Нахождения журнала  'd:\logfile_1.txt' ?

Не срабатывает комбинация  3 -х строк 
для каждого отдельного сообщения:
Открыть журнал  uf_OpenLog()
Записать очередное сообщение  uf_WriteErrorToLog()
Закрыть журнал uf_CloseLog()

gnv_logmanager.uf_OpenLog() // display НЕТ таких файлов
gnv_logmanager.uf_WriteToLog("Ending Application",  2 )  gnv_logmanager.uf_CloseLog()

Анализ кода показывает наличие обнуления переменных
is_logfilename = ""      // no log file name yet
ii_logging =  0            // no logging yet

Нижеследующее выражение
li_filenumber = FileOpen(is_logfilename, LIneMode!, Write!, &
                       LockWrite!, Append!)
Не может открыть файл журнала, т.к. там пусто – нет имени
Файла, которое где-то портится. 
Первончально имя находится 'd:\logfile_1.txt'

Пользовательские объекты:
nv_appmanager
nv_inimanager
nv_logmanager
...
Рейтинг: 0 / 0
Использование журнала – LOG
    #35038871
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. проще держать файл открытым пока живет приложение.
2. пользуй дебагер.
...
Рейтинг: 0 / 0
Использование журнала – LOG
    #35039172
Guest01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если трасса критична, всегда используйте атомарные операции.
т.е. FileOpen, FileWrite, FileClose.
Иначе потеряете информацию при любом сбое.
Если вероятность сбоя мала, можно держать файл открытым.
Но не стоит забывать о возможном кешировании записи в файла самой ОС.
...
Рейтинг: 0 / 0
Использование журнала – LOG
    #35039437
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guest01Если трасса критична, всегда используйте атомарные операции.
т.е. FileOpen, FileWrite, FileClose.
Иначе потеряете информацию при любом сбое.
Если вероятность сбоя мала, можно держать файл открытым.
Но не стоит забывать о возможном кешировании записи в файла самой ОС.
Чтобы изменения физически записались на диск есть такая вот функция в WinAPI FlushFileBuffers , правда, соответственно, придется к файлу доступ через CreateFile получать.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Использование журнала – LOG
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]