написание log файла

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Anta
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 106
Зарегистрирован: 19.08.2012 (Вс) 22:00

написание log файла

Сообщение Anta » 31.10.2012 (Ср) 19:53

здравствуйте, подскажите, мне нужно написать код создания лог файлa, на форме имеется кнопка, по нажатию на которую выполняются функции . первая функция запускает на выполнение через Shell(psexec комманду EXPDP), затем SHell(psexec IMPDP) на удаленном компютере , затем функция проверки сушествования созданной схемы в БД Оracle , затем смена пароля для этои схемы, затем создание фaйлов BAT, затем создание директорий Оracle, затем выполнение скрипта sql, как можно в текстовый фaил вывести информацию о времени запуска этих фунций и итоге выполнения? спасибо . код кнопки :
Код: Выделить всё
Private Sub B_CreerSchema_Click(sender As Object, e As EventArgs) Handles B_CreerSchema.Click

              If TB_BD_nom.Text = "" Or TB_MinX.Text = "" Or TB_MaxX.Text = "" Or TB_MinY.Text = "" Or TB_MaxY.Text = "" Or CBO_ListeProjection.Text = "" Then

            MsgBox("проверте входные данные!")
            Exit Sub
        Else
            If My.Computer.Network.Ping("Oracle") = False Then
                MsgBox("сервер не доступен.")
                Exit Sub
            Else
                       If My.Computer.FileSystem.FileExists("\\ORACLE\k$\dev\DATAPUMP\SIGGABARIT.DMP") Then
                    My.Computer.FileSystem.DeleteFile("\\ORACLE\k$\dev\DATAPUMP\SIGGABARIT.DMP", FileIO.UIOption.OnlyErrorDialogs, FileIO.RecycleOption.SendToRecycleBin)
                    EXPDP_Shell()
                           
                    If My.Computer.FileSystem.FileExists("\\ORACLE\k$\dev\DATAPUMP\SIGGABARIT.DMP") Then
                        IMPDP_Shell(TB_NewSchema)
                         CheckCreation(TB_NewSchema)
                        If SchemaExiste = True Then
                            Change_MOTdePASS(TB_NewSchema)
                            CreationREPERTOIRE(TB_NewSchema)
                            If My.Computer.FileSystem.DirectoryExists("\\ORACLE\k$\dev\" + TB_NewSchema.Text + "\01_CADASTRE") And My.Computer.FileSystem.DirectoryExists("\\ORACLE\d$\dev\" + TB_NewSchema.Text + "\01_CADASTRE\D01_POUR_TRAITEMENT") Then
                                CREATION_BAT1(TB_NewSchema)
                                CREATION_BAT2(TB_NewSchema)
                                CREATION_LISTE_BAT(TB_NewSchema)
                                DeleteSeqCadastre(TB_NewSchema)
                                DeleteSeqRole(TB_NewSchema)
                                CreationSeqCadastre(TB_NewSchema)
                                CreationSeqRole(TB_NewSchema)
                                ConnexionSchema(TB_NewSchema)
                                CreationRepDatapump(TB_NewSchema)
                                CreationRep2(TB_NewSchema)
                                CreationRep3(TB_NewSchema)
                                CreationRep4(TB_NewSchema)
                                CreationRep5(TB_NewSchema)
                                CreationRep6(TB_NewSchema)
                                CreationRep7(TB_NewSchema)
                                CreationRep8(TB_NewSchema)
                                ScriptSQL(TB_NewSchema, TB_MinX, TB_MaxX, TB_MinY, TB_MaxY, CBO_ListeProjection)
                            Else
                                Exit Sub
                                MsgBox("неудача.")
                            End If
                        Else
                            MsgBox(неудача" + TB_NewSchema.Text + "")
                            Exit Sub
                        End If
                    Else
                        MsgBox("неудача")
                        Exit Sub
                    End If
                Else
                    '----------
                    EXP_Schema()
                          If My.Computer.FileSystem.FileExists("\\ORACLE\k$\dev\DATAPUMP\SIGGABARIT.DMP") Then
                        IMPDP_Shell(TB_NewSchema)
                        'IMP_Schema(TB_NewSchema)
                        CheckCreation(TB_NewSchema)
                        If SchemaExiste = True Then
                            Change_MOTdePASS(TB_NewSchema)
                            CreationREPERTOIRE(TB_NewSchema)
                            If My.Computer.FileSystem.DirectoryExists("\\ORACLE\k$\dev\" + TB_NewSchema.Text + "\01_CADASTRE") And My.Computer.FileSystem.DirectoryExists("\\ORACLE\k$\dev\" + TB_NewSchema.Text + "\01_CADASTRE\D01_POUR_TRAITEMENT") Then
                                CREATION_BAT1(TB_NewSchema)
                                CREATION_BAT2(TB_NewSchema)
                                CREATION_LISTE_BAT(TB_NewSchema)
                                DeleteSeqCadastre(TB_NewSchema)
                                DeleteSeqRole(TB_NewSchema)
                                CreationSeqCadastre(TB_NewSchema)
                                CreationSeqRole(TB_NewSchema)
                                ConnexionSchema(TB_NewSchema)
                                CreationRepDatapump(TB_NewSchema)
                                CreationRep2(TB_NewSchema)
                                CreationRep3(TB_NewSchema)
                                CreationRep4(TB_NewSchema)
                                CreationRep5(TB_NewSchema)
                                CreationRep6(TB_NewSchema)
                                CreationRep7(TB_NewSchema)
                                CreationRep8(TB_NewSchema)
                                ScriptSQL(TB_NewSchema, TB_MinX, TB_MaxX, TB_MinY, TB_MaxY, CBO_ListeProjection)
                            Else
                                MsgBox("неудача")
                            End If
                        Else
                            MsgBox("неудача + TB_NewSchema.Text + "")
                            Exit Sub
                        End If
                    Else
                        MsgBox("неудача")
                        Exit Sub
                    End If
                End If
            End If
        End If






    End Sub

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: написание log файла

Сообщение FireFenix » 31.10.2012 (Ср) 21:29

Anta писал(а):как можно в текстовый фaил вывести информацию о времени запуска этих фунций и итоге выполнения?

Код: Выделить всё
Открыть Файл
    ... некоторые операции ...
    Считать Текущее Время
    Записать Текущее Время в файл с именем текущей функции
    Выполнить функцию
    ... некоторые операции ...
    Считать Текущее Время
    Записать Текущее Время в файл с именем текущей функции
    Выполнить функцию
    ... некоторые операции ...
Закрыть Файл

Ничего сложного
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 31.10.2012 (Ср) 21:43

Лучше использовать log4net.

Anta
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 106
Зарегистрирован: 19.08.2012 (Вс) 22:00

Re: написание log файла

Сообщение Anta » 01.11.2012 (Чт) 1:08

FireFenix писал(а):
Anta писал(а):как можно в текстовый фaил вывести информацию о времени запуска этих фунций и итоге выполнения?

Код: Выделить всё
Открыть Файл
    ... некоторые операции ...
    Считать Текущее Время
    Записать Текущее Время в файл с именем текущей функции
    Выполнить функцию
    ... некоторые операции ...
    Считать Текущее Время
    Записать Текущее Время в файл с именем текущей функции
    Выполнить функцию
    ... некоторые операции ...
Закрыть Файл

Ничего сложного

для записи текущего времени использовать Date.now, а как найти текущую функцию или просто логически: текущее время и имя функции , что то вроде:
If My.Computer.FileSystem.FileExists("\\ORACLE\k$\dev\DATAPUMP\SIGGABARIT.DMP") Then
s.whriteln("- Начало выполнения импорта схемы- Date.now")
IMPDP_Shell(TB_NewSchema)
s.whriteln("- финиш импорта схемы- Date.now")
s.whriteln("- начало проверки создания схемы- Date.now")
CheckCreation(TB_NewSchema)
s.whriteln("- конец проверки создания схемы- Date.now")

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: написание log файла

Сообщение FireFenix » 01.11.2012 (Чт) 1:27

Anta писал(а):для записи текущего времени использовать Date.now, а как найти текущую функцию или просто логически: текущее время и имя функции , что то вроде:

Это же очевидно, что нужно вызывать запись в файл внутри функции или в коде до/после вызова самой функции.

Конечо можно поэкспериментировать с рефлексией и самим фреймворком, но думаю - это не требуется.

Anta писал(а):If My.Computer.FileSystem.FileExists("\\ORACLE\k$\dev\DATAPUMP\SIGGABARIT.DMP") Then
s.whriteln("- Начало выполнения импорта схемы- Date.now")
IMPDP_Shell(TB_NewSchema)
s.whriteln("- финиш импорта схемы- Date.now")
s.whriteln("- начало проверки создания схемы- Date.now")
CheckCreation(TB_NewSchema)
s.whriteln("- конец проверки создания схемы- Date.now")

Ну что за вырвиглазное оформление? Неужели сложно использовать тэг [code] вместо [icode]
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Anta
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 106
Зарегистрирован: 19.08.2012 (Вс) 22:00

Re: написание log файла

Сообщение Anta » 01.11.2012 (Чт) 14:29

Это же очевидно, что нужно вызывать запись в файл внутри функции или в коде до/после вызова самой функции.
спасибо!
Ну что за вырвиглазное оформление? Неужели сложно использовать тэг [code] вместо [icode]
я тоже удивилась такому оформлению с использованием [code]


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 95

    TopList