プロジェクト

全般

プロフィール

リビジョン 72

山内7年以上前に追加

差分を表示:

branches/src/UpDateCopy/ClsCommon.cs
1
using System;
2
using System.Collections.Generic;
3
using System.IO;
4
using System.Linq;
5
using System.Security.Cryptography;
6
using System.Text;
7
using System.Threading.Tasks;
8

  
9
namespace UpDateCopy
10
{
11
    public static class ClsCommon
12
    {
13
        #region 定数
14

  
15
        /// <summary>
16
        /// 監視対象プロセス名
17
        /// </summary>
18
        public const string s_TargetProcess = "現場監督秘書";
19
        /// <summary>
20
        /// パスを定数で定義する
21
        /// </summary>
22
        //public const string s_UPDATE_FILE_PATH = @"Z:\52GenbaKantokuHisyo";
23
        //public const string s_UPDATE_FILE_PATH = @"Z:\5-2現場監督秘書";
24
        //private const string s_UPDATE_FILE_PATH = @"Z:\⑤IT事業部用\Debug";
25

  
26
        /// <summary>
27
        /// エラーログファイル
28
        /// </summary>
29
        public const string s_ErrorFileName = @".\log\Error.txt";
30

  
31
// ▼自動更新VPS対応▼ 
32
        // FTPユーザ名
33
        public const string s_FTP_USER_NAME = "pmaint";
34
        // FTPパスワード
35
        public const string s_FTP_PASSWORD = "hyou5210";
36
        // FTPつなぎ先パス
37
        public const string s_FTP_SERVER_PATH = "ftp://203.137.94.208:990/HYOU/";
38
        // 本体モジュールフォルダ
39
        public const string s_HONTAI_MODULE = "ProcessManagement";
40
        // UVERSIONキー名
41
        public const string s_UVERSION_KEY = "uversion";
42
        // MVERSIONキー名
43
        public const string s_MVERSION_KEY = "mversion";
44
        // VERSIONセクション名
45
        public const string s_VERSION_SECTION = "genbaKantokuHisyo";
46
        // 起動パラメータ
47
        public const string s_KIDOU_PARAM = "/NOCHECK";
48
// ▲自動更新VPS対応▲
49
        #endregion
50

  
51
        /// <summary>
52
        /// エラー時ログファイル出力
53
        /// </summary>
54
        /// <param name="message"></param>
55
        public static void ErrorLogWrite(string message)
56
        {
57
            try
58
            {
59
                // ディレクトリの確認
60
                int spoint = ClsCommon.s_ErrorFileName.LastIndexOf("\\") + 1;
61
                string path = ClsCommon.s_ErrorFileName.Substring(spoint);
62
                if (Directory.Exists(@path))
63
                    Directory.CreateDirectory(@path);
64
                // ログ書込み
65
                StreamWriter writer = new StreamWriter(@ClsCommon.s_ErrorFileName, true, Encoding.GetEncoding("Shift_JIS"));
66
                writer.WriteLine("Error={0}:{1}", DateTime.Now.ToLongTimeString(), message);
67
                writer.Close();
68
            }
69
            catch
70
            {
71

  
72
            }
73
        }
74
        /// ファイルパスよりmd5のハッシュ値を返す
75
        /// </summary>
76
        /// <param name="FilePath"></param>
77
        /// <returns></returns>
78
        public static string GetFileHashData(string FilePath)
79
        {
80
            try
81
            {
82
                //ファイルを開く
83
                FileStream fs = new FileStream(FilePath, FileMode.Open, FileAccess.Read, FileShare.Read);
84

  
85
                //MD5CryptoServiceProviderオブジェクトを作成
86
                MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
87

  
88
                //ハッシュ値を計算する
89
                byte[] bs = md5.ComputeHash(fs);
90

  
91
                //リソースを解放する
92
                md5.Clear();
93
                //ファイルを閉じる
94
                fs.Close();
95

  
96
                return BitConverter.ToString(bs).ToLower().Replace("-", "");
97

  
98
            }
99
            catch (Exception ex)
100
            {
101
                ErrorLogWrite(ex.Message.ToString());
102
                return string.Empty;
103
            }
104
        }
105
        /// <summary>
106
        /// ファイルの時間を取得する
107
        /// </summary>
108
        /// <param name="FilePath">ファイルパス</param>
109
        /// <param name="flg">取得日付フラグ</param>
110
        /// <returns></returns>
111
        public static DateTime GetFileTimeStamp(string FilePath, char flg)
112
        {
113
            try
114
            {
115
                DateTime dtDateTime = DateTime.MinValue;
116

  
117
                if (flg == 'C')
118
                {
119
                    // 作成日時を取得する
120
                    dtDateTime = File.GetCreationTime(@FilePath);
121
                }
122
                else if (flg == 'U')
123
                {
124
                    // 更新日時を取得する
125
                    dtDateTime = File.GetLastWriteTime(@FilePath);
126
                }
127
                else if (flg == 'A')
128
                {
129
                    // アクセス日時を取得する
130
                    dtDateTime = File.GetLastAccessTime(@FilePath);
131
                }
132

  
133
                return dtDateTime;
134
            }
135
            catch (Exception ex)
136
            {
137
                ErrorLogWrite(ex.Message.ToString());
138
                return DateTime.Now;
139
            }
140
        }
141
    }
142
}
branches/src/UpDateCopy/FrmCopy.Designer.cs
1
namespace UpDateCopy
2
{
3
    partial class FrmCopy
4
    {
5
        /// <summary>
6
        /// 必要なデザイナー変数です。
7
        /// </summary>
8
        private System.ComponentModel.IContainer components = null;
9

  
10
        /// <summary>
11
        /// 使用中のリソースをすべてクリーンアップします。
12
        /// </summary>
13
        /// <param name="disposing">マネージ リソースが破棄される場合 true、破棄されない場合は false です。</param>
14
        protected override void Dispose(bool disposing)
15
        {
16
            if (disposing && (components != null))
17
            {
18
                components.Dispose();
19
            }
20
            base.Dispose(disposing);
21
        }
22

  
23
        #region Windows フォーム デザイナーで生成されたコード
24

  
25
        /// <summary>
26
        /// デザイナー サポートに必要なメソッドです。このメソッドの内容を
27
        /// コード エディターで変更しないでください。
28
        /// </summary>
29
        private void InitializeComponent()
30
        {
31
            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmCopy));
32
            this.progressBar = new System.Windows.Forms.ProgressBar();
33
            this.lblMessage = new System.Windows.Forms.Label();
34
            this.SuspendLayout();
35
            // 
36
            // progressBar
37
            // 
38
            this.progressBar.Location = new System.Drawing.Point(12, 209);
39
            this.progressBar.Name = "progressBar";
40
            this.progressBar.Size = new System.Drawing.Size(610, 54);
41
            this.progressBar.TabIndex = 0;
42
            // 
43
            // lblMessage
44
            // 
45
            this.lblMessage.BackColor = System.Drawing.Color.White;
46
            this.lblMessage.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
47
            this.lblMessage.Font = new System.Drawing.Font("MS 明朝", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
48
            this.lblMessage.Location = new System.Drawing.Point(12, 27);
49
            this.lblMessage.Name = "lblMessage";
50
            this.lblMessage.Size = new System.Drawing.Size(610, 169);
51
            this.lblMessage.TabIndex = 1;
52
            this.lblMessage.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
53
            // 
54
            // FrmCopy
55
            // 
56
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
57
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
58
            this.ClientSize = new System.Drawing.Size(634, 275);
59
            this.Controls.Add(this.lblMessage);
60
            this.Controls.Add(this.progressBar);
61
            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
62
            this.MaximizeBox = false;
63
            this.MinimizeBox = false;
64
            this.Name = "FrmCopy";
65
            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
66
            this.Text = "プログラム更新";
67
            this.Load += new System.EventHandler(this.FrmCopy_Load);
68
            this.Shown += new System.EventHandler(this.FrmCopy_Shown);
69
            this.ResumeLayout(false);
70

  
71
        }
72

  
73
        #endregion
74

  
75
        private System.Windows.Forms.ProgressBar progressBar;
76
        private System.Windows.Forms.Label lblMessage;
77
    }
78
}
79

  
branches/src/UpDateCopy/FrmCopy.resx
1
<?xml version="1.0" encoding="utf-8"?>
2
<root>
3
  <!-- 
4
    Microsoft ResX Schema 
5
    
6
    Version 2.0
7
    
8
    The primary goals of this format is to allow a simple XML format 
9
    that is mostly human readable. The generation and parsing of the 
10
    various data types are done through the TypeConverter classes 
11
    associated with the data types.
12
    
13
    Example:
14
    
15
    ... ado.net/XML headers & schema ...
16
    <resheader name="resmimetype">text/microsoft-resx</resheader>
17
    <resheader name="version">2.0</resheader>
18
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
19
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
20
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
21
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
22
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
23
        <value>[base64 mime encoded serialized .NET Framework object]</value>
24
    </data>
25
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
26
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
27
        <comment>This is a comment</comment>
28
    </data>
29
                
30
    There are any number of "resheader" rows that contain simple 
31
    name/value pairs.
32
    
33
    Each data row contains a name, and value. The row also contains a 
34
    type or mimetype. Type corresponds to a .NET class that support 
35
    text/value conversion through the TypeConverter architecture. 
36
    Classes that don't support this are serialized and stored with the 
37
    mimetype set.
38
    
39
    The mimetype is used for serialized objects, and tells the 
40
    ResXResourceReader how to depersist the object. This is currently not 
41
    extensible. For a given mimetype the value must be set accordingly:
42
    
43
    Note - application/x-microsoft.net.object.binary.base64 is the format 
44
    that the ResXResourceWriter will generate, however the reader can 
45
    read any of the formats listed below.
46
    
47
    mimetype: application/x-microsoft.net.object.binary.base64
48
    value   : The object must be serialized with 
49
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
50
            : and then encoded with base64 encoding.
51
    
52
    mimetype: application/x-microsoft.net.object.soap.base64
53
    value   : The object must be serialized with 
54
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
55
            : and then encoded with base64 encoding.
56

  
57
    mimetype: application/x-microsoft.net.object.bytearray.base64
58
    value   : The object must be serialized into a byte array 
59
            : using a System.ComponentModel.TypeConverter
60
            : and then encoded with base64 encoding.
61
    -->
62
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
63
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
64
    <xsd:element name="root" msdata:IsDataSet="true">
65
      <xsd:complexType>
66
        <xsd:choice maxOccurs="unbounded">
67
          <xsd:element name="metadata">
68
            <xsd:complexType>
69
              <xsd:sequence>
70
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
71
              </xsd:sequence>
72
              <xsd:attribute name="name" use="required" type="xsd:string" />
73
              <xsd:attribute name="type" type="xsd:string" />
74
              <xsd:attribute name="mimetype" type="xsd:string" />
75
              <xsd:attribute ref="xml:space" />
76
            </xsd:complexType>
77
          </xsd:element>
78
          <xsd:element name="assembly">
79
            <xsd:complexType>
80
              <xsd:attribute name="alias" type="xsd:string" />
81
              <xsd:attribute name="name" type="xsd:string" />
82
            </xsd:complexType>
83
          </xsd:element>
84
          <xsd:element name="data">
85
            <xsd:complexType>
86
              <xsd:sequence>
87
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
88
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
89
              </xsd:sequence>
90
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
91
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
92
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
93
              <xsd:attribute ref="xml:space" />
94
            </xsd:complexType>
95
          </xsd:element>
96
          <xsd:element name="resheader">
97
            <xsd:complexType>
98
              <xsd:sequence>
99
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
100
              </xsd:sequence>
101
              <xsd:attribute name="name" type="xsd:string" use="required" />
102
            </xsd:complexType>
103
          </xsd:element>
104
        </xsd:choice>
105
      </xsd:complexType>
106
    </xsd:element>
107
  </xsd:schema>
108
  <resheader name="resmimetype">
109
    <value>text/microsoft-resx</value>
110
  </resheader>
111
  <resheader name="version">
112
    <value>2.0</value>
113
  </resheader>
114
  <resheader name="reader">
115
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
116
  </resheader>
117
  <resheader name="writer">
118
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
119
  </resheader>
120
  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
121
  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
122
    <value>
123
        AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAA
124
        AAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAQH/AAQC/wAAAP8AAAD/ARcL/wVLJP8Igz//C65T/w3I
125
        YP8N0mX/DdJl/w3IYP8LrlP/CIM//wVLJP8BFwv/AAAA/wAAAP8ABAL/AAEB/wAAAP8AAAD/AAAA/wAA
126
        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAIB/wABAP8AAAD/AiYS/wh/Pf8NxF7/DuFs/w/m
127
        bv8O4Wz/Dt1q/w7caf8O3Gn/Dt1q/w7hbP8P5m7/DuFs/w3EXv8Ifz3/AiYS/wAAAP8AAQD/AAIB/wAA
128
        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wADAf8AAAD/AQoF/wdvNf8O02X/D+Zu/w7b
129
        af8O1Gb/DtNl/w7UZv8O1mb/DtZn/w7WZ/8O1mb/DtRm/w7TZf8O1Gb/Dttp/w/mbv8O02X/B281/wEK
130
        Bf8AAAD/AAMB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAwH/AAAA/wIgD/8KqFH/DuRt/w7V
131
        Zv8NzWP/DdFk/w3UZv8N1Gb/DdRm/w3TZf8N02X/DdNl/w3TZf8N1Gb/DdRm/w3UZv8N0WT/Dc1j/w7V
132
        Zv8O5G3/CqhR/wIgD/8AAAD/AAMB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAMB/wAAAP8DKRT/DMBc/w7e
133
        av8NymH/Dc9j/w3RZP8N0GT/DdBk/w3QZP8N0GT/DdBk/w3QZP8N0GT/DdBk/w3QZP8N0GT/DdBk/w3Q
134
        ZP8N0WT/Dc9j/w3KYf8O3mr/DMBc/wMpFP8AAAD/AAMB/wAAAP8AAAD/AAAA/wACAf8AAAD/AiAQ/wy+
135
        W/8O12f/Dcdg/w3NY/8NzWL/Dc1i/w3NYv8NzWL/Dc1i/w3NYv8NzWL/Dc1i/w3NYv8NzWL/Dc1i/w3N
136
        Yv8NzWL/Dc1i/w3NYv8NzWL/Dc1j/w3HYP8O12f/DL5b/wIgEP8AAAD/AAIB/wAAAP8AAQH/AAIB/wEJ
137
        BP8Ko07/DtZn/w3EXv8Ny2H/Dclh/w3KYf8NymH/Dcph/w3KYf8NymH/Dcph/w3KYf8NymH/Dcph/w3K
138
        Yf8NymH/Dcph/w3KYf8NymH/Dcph/w3KYf8NyWH/Dcth/w3EXv8O1mf/CqNO/wEJBP8AAgH/AAEB/wAD
139
        Av8AAAD/B2sz/w7WZ/8MwV3/Dcdg/w3GX/8Nxl//DcZf/w3GX/8Nxl//DcZf/w3GX/8Nxl//DcZf/w3G
140
        X/8Nxl//DcZf/w3GX/8Nxl//DcZf/w3GX/8Nxl//DcZf/w3GX/8Nxl//Dcdg/w3BXf8O1mf/B2sz/wAA
141
        AP8AAwL/AAAA/wIlEv8Mwl3/DMNe/wzCXf8NxF7/DcNf/wzDXf8Mw17/DMNe/wzDXv8Mw17/DMNe/w3D
142
        Xv8Mw17/DMNe/wzDXv8Mw17/DMNe/wzDXv8Mw17/DMNe/wzDXv8Mw17/DMNe/wzDXv8Mw17/DMJd/wzD
143
        Xv8Mwl3/AiUS/wAAAP8AAAD/B3U4/w3NY/8Lu1n/DsFe/wq/Wv8Jv1r/DsBd/wzAXP8NwF3/DMBc/wzA
144
        XP8MwFz/DcBd/w7AXv8NwF3/DMBc/w3AXf8MwFz/DcBd/wzAXP8MwFz/DcBd/wzAXP8MwFz/DcBd/w3A
145
        Xf8NwV3/DLta/w3NY/8HdTj/AAAA/wEXC/8LrVP/DL9c/w27W/8Hu1f/E75f/xS+X/8Hu1f/C7xZ/wm7
146
        WP8MvVv/DL1b/wq8Wf8GulX/ArlT/wi8Wf8LvFn/CbtY/wu9XP8Ju1j/CrxZ/wu8Wv8Iu1f/DL1b/wq8
147
        Wf8GulX/BbpU/wa6Vv8Mu1r/DL9c/wutU/8BFwv/BEUh/wzBXP8Ot1n/CLhW/xi8YP+x6cr/uuzR/xK5
148
        Wf9SzYf/Wc+N/wO2Uv8Ft1T/UM2H/6znxf+S4LX/Frpb/1vPjP9Wz4z/ALJH/2TTlv9NyoH/Gbte/3/b
149
        qf8FtU//RMl+/6blwv+m5cH/hNuq/wm4Vv8Mt1j/DcFd/wRFIf8HdDj/DL9c/w+0Wf8AsUv/aNKX/7fo
150
        y/+36cz/Yc+Q/2POj/931qL/ArJP/wKzUP9t05r/x+7Y/9Ly4f9s0ZX/V8qG/4faq/8AqDn/lN+2/0vH
151
        fv8iumH/p+XE/wOwSv9azYz/zfDd/7jqz/+W37b/CLRU/wuzVv8Mv1z/B3Q4/wmVSP8Lt1j/DbJX/wGu
152
        Sv+P3LL/RMJ4/zzAc/+E2Kn/X8uM/2fPlv8Aq0X/Aa5M/3TTnv9WyYj/Ob5u/53gu/8yvW3/t+nO/5zg
153
        uv+26M3/ILhh/yW5ZP+c4Lv/AaxH/2DNkP93057/C69N/xG1W/8KslX/C7FV/wu3WP8JlUj/CqdQ/wux
154
        Vf8Mr1X/AqtL/5Dasf83vXH/MLtt/4TWqP9eyYv/iNeq/yu4Z/8Dqkn/ddGd/13Kjf8Lq0z/m9+6/zG5
155
        av+y5sn/wuvU/7DlyP8Lr1P/J7hm/57gu/8BqEX/Y8yR/2/Pl/8Aozr/Bq5R/wuwVf8Lr1T/C7FV/wqn
156
        UP8Lq1L/C6xT/wytVP8CqEn/kdmx/zm6cf8xuGz/iNar/1HCgP/c8+f/3vXq/0a+d/9sy5P/ZMqS/wWm
157
        R/+b3bn/Obdp/4nWqv9EvHT/k9qy/wKoSv8otmf/nd66/wOlRf9bx4r/ot+8/2jLk/9Bvnn/BKlN/w2t
158
        VP8LrFP/C6tS/wuoUf8LqVH/DKlS/wKkSP+R2LD/OLhv/zG1av+G1Kf/XcSI/5PYsP+H0qX/hdSo/2nJ
159
        kv9jyI//AqJE/57du/8ssGD/fdCg/2zKlP+A0qT/AKJD/yq0Z/+c3Ln/BKNF/1PBgv/U8OH/5Pbs/3rQ
160
        oP8Ao0X/DqpU/wqpUf8LqFH/CqBN/wqmUP8LplH/AqFG/5HWr/84tW7/MbNp/4PRpf9lxY3/YcWM/yCo
161
        U/+N1a3/dMuZ/2HFjf8JoUb/od29/xqoVf9qyJL/nNu4/2jHkf8BnkD/LrNp/53buf8En0P/X8SL/4jS
162
        p/8sr2L/JK9i/wakTf8LplD/CqdQ/wqgTf8JjEP/CqZQ/wuiT/8CnUT/kdWu/ziybf8xsGj/hNCl/2XD
163
        jf9hwor/IqVT/43UrP90yZj/ULt+/xihTP+n3sH/BZ1D/1W9gv/M7Nv/Trt9/wCYO/8iqVz/mdi2/wCU
164
        M/9iw4z/bMaS/wCRLf8An0f/C6NP/wqhTf8KplD/CYxD/wdsNP8KplD/C51N/wKaQ/+R067/N69q/y+s
165
        Zf+EzqT/WbyC/57Yt/+X1K//ktSv/23FlP+d2Lb/ndi1/53Zt/8CmUL/R7Z3/9Xv4f8rqWD/Jadc/4jQ
166
        p/+04cf/Y8CJ/2bCjv+k27v/c8eX/1W8g/8Dm0b/C51M/wqnUP8HbDT/BEIg/wqjTv8Lmkv/AZZA/5HS
167
        rf89r27/Oa5s/5TUsP9jv4v/4vTq/9/z6P9lwY7/eMmc/+j27v/W7+H/Y8CM/yqpZP9SuYD/y+rZ/y2p
168
        Y/9fvYj/3vLn/8np1/+85M7/ZsCM/87r2//g8uj/q93B/xKfUP8JmUn/C6RP/wRCIP8BGAz/CZJG/wiZ
169
        Sf8LmEr/TrV8/0izeP9Hsnf/VbiB/021fP9cu4b/U7eA/z2ucP9OtXz/W7uG/061fP8+rnD/QrBz/0Sx
170
        df9YuYT/RLF1/0u0ev9YuYT/V7mD/0izeP9Ar3H/V7mD/1e5g/9VuIH/N6tr/wiZSf8Jkkf/ARgM/wAA
171
        AP8HZjH/B55L/xGVTP9IsXf/TLJ5/0uxef9IsHb/SbF4/0Wvdf9HsHb/TbJ7/0mxeP9Fr3X/SLB3/02y
172
        e/9Msnr/S7J5/0awdv9Msnn/SrF4/0avdf9GsHX/SbF3/0yyef9GsHb/Ra90/0yyev84pmn/Bp1K/wdm
173
        Mv8AAAD/AAAA/wImEv8Jl0n/B49E/0uveP9atoP/VrSA/1i1gf9XtIH/WLWC/1i1gv9WtID/V7SB/1i1
174
        gv9YtYH/VrSA/1a0gP9WtIH/WLWC/1a0gP9XtIH/WLWC/1i1gf9XtYH/VrSA/1i1gv9WtID/XriG/yOc
175
        Wf8ElUX/BCYT/wAAAP8AAgH/AAAA/whdLv8ClkT/L5xg/2i7jf9dtYT/YbeH/2C2h/9gt4f/YLeH/2G3
176
        h/9gt4f/YLeH/2G3h/9ht4f/YbeH/2G3h/9gt4f/YLaH/2C2h/9gtof/YLaH/2C2h/9ht4f/XrWE/2a6
177
        i/9Nqnb/BphH/wZcLf8AAAD/AAIB/wABAf8AAQH/Ag8I/wd/Pf8IkUX/Wq+A/2+8kv9nuIv/a7qO/2q5
178
        jv9quY7/armO/2q5jv9quY7/armO/2q5jv9quY7/armO/2q5jf9quY3/armN/2q5jf9quY3/a7mO/2e4
179
        i/9tu4//Z7WK/xSWTv8EfTr/Ag8I/wABAf8AAQH/AAAA/wABAf8AAAD/BCIR/wSJQP8Xkk7/cbiR/3m/
180
        mf9wupL/dLyU/3W8lf90vJX/dLyV/3S8lf90vJX/dLyV/3S8lP90vJT/dLyU/3S8lP90vJX/dLyV/3O8
181
        lP9wupL/eb+Z/3O5k/8fllT/Aog+/wQiEv8AAAD/AAEB/wAAAP8AAAD/AAAA/wACAf8AAAD/BSwW/wKG
182
        Pf8dk1H/dbeT/4rGpf99v5v/e72Z/32+mv9+v5z/f8Cc/3/AnP9/wJz/f8Cc/3/AnP9/wJz/fr+b/3y+
183
        mv97vZn/f8Cc/4rGpf9xtY//HJNR/wKGPf8FLBf/AAAA/wACAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAD
184
        Af8AAAD/BSQS/wJ2Nf8Rjkj/XKl+/43Dpf+TyKv/jMWl/4fCof+FwaD/hcGf/4XBn/+FwZ//hcGf/4XB
185
        oP+HwqH/jcWm/5PJq/+JwaL/U6R2/w2MRf8Cdjb/BSQT/wAAAP8AAwH/AAAA/wAAAP8AAAD/AAAA/wAA
186
        AP8AAAD/AAAA/wACAf8AAAD/AxAJ/wNXKP8Cgjr/JpRW/16qf/+FvZ7/mMit/53Msv+ezbP/ns2z/57N
187
        s/+ezbP/ncyy/5fHrf+Cu5v/VqZ5/x6PUP8BgTn/BFcp/wMQCf8AAAD/AAIB/wAAAP8AAAD/AAAA/wAA
188
        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wACAf8AAAD/AQAA/wUnFP8AWSf/AHYz/w+FQ/8qkFb/QZln/1Gg
189
        dP9ZpXv/WqV7/1Khdf9BmWf/KI9V/w2EQf8AdTP/AVop/wUnFf8BAAD/AAAA/wACAf8AAAD/AAAA/wAA
190
        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wABAf8AAgH/AAAA/wMBAv8FGw//Ajwc/wBY
191
        Jv8AbC7/AHYy/wB4M/8AeDP/AHYy/wBsLv8AWSf/Azwd/wUbD/8CAQH/AAAA/wACAf8AAQH/AAAA/wAA
192
        AP8AAAD/AAAA/wAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
193
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
194
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
195
</value>
196
  </data>
197
</root>
branches/src/UpDateCopy/App.config
1
<?xml version="1.0" encoding="utf-8" ?>
2
<configuration>
3
    <startup> 
4
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
5
    </startup>
6
</configuration>
branches/src/UpDateCopy/Program.cs
1
using System;
2
using System.Collections.Generic;
3
using System.Diagnostics;
4
using System.IO;
5
using System.Linq;
6
using System.Threading.Tasks;
7
using System.Windows.Forms;
8

  
9
namespace UpDateCopy
10
{
11
    static class Program
12
    {
13
        /// <summary>
14
        /// アプリケーションのメイン エントリ ポイントです。
15
        /// </summary>
16
        [STAThread]
17
        static void Main()
18
        {
19
            //すでに起動していると判断する
20
            if (Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName).Length > 1) return;
21

  
22
            Application.EnableVisualStyles();
23
            Application.SetCompatibleTextRenderingDefault(false);
24
            Application.Run(new FrmCopy());
25
        }
26
    }
27
}
branches/src/UpDateCopy/lib/log4net.xml
1
<?xml version="1.0"?>
2
<doc>
3
    <assembly>
4
        <name>log4net</name>
5
    </assembly>
6
    <members>
7
        <member name="T:log4net.Appender.AdoNetAppender">
8
            <summary>
9
            Appender that logs to a database.
10
            </summary>
11
            <remarks>
12
            <para>
13
            <see cref="T:log4net.Appender.AdoNetAppender"/> appends logging events to a table within a
14
            database. The appender can be configured to specify the connection 
15
            string by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionString"/> property. 
16
            The connection type (provider) can be specified by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionType"/>
17
            property. For more information on database connection strings for
18
            your specific database see <a href="http://www.connectionstrings.com/">http://www.connectionstrings.com/</a>.
19
            </para>
20
            <para>
21
            Records are written into the database either using a prepared
22
            statement or a stored procedure. The <see cref="P:log4net.Appender.AdoNetAppender.CommandType"/> property
23
            is set to <see cref="F:System.Data.CommandType.Text"/> (<c>System.Data.CommandType.Text</c>) to specify a prepared statement
24
            or to <see cref="F:System.Data.CommandType.StoredProcedure"/> (<c>System.Data.CommandType.StoredProcedure</c>) to specify a stored
25
            procedure.
26
            </para>
27
            <para>
28
            The prepared statement text or the name of the stored procedure
29
            must be set in the <see cref="P:log4net.Appender.AdoNetAppender.CommandText"/> property.
30
            </para>
31
            <para>
32
            The prepared statement or stored procedure can take a number
33
            of parameters. Parameters are added using the <see cref="M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)"/>
34
            method. This adds a single <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> to the
35
            ordered list of parameters. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/>
36
            type may be subclassed if required to provide database specific
37
            functionality. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> specifies
38
            the parameter name, database type, size, and how the value should
39
            be generated using a <see cref="T:log4net.Layout.ILayout"/>.
40
            </para>
41
            </remarks>
42
            <example>
43
            An example of a SQL Server table that could be logged to:
44
            <code lang="SQL">
45
            CREATE TABLE [dbo].[Log] ( 
46
              [ID] [int] IDENTITY (1, 1) NOT NULL ,
47
              [Date] [datetime] NOT NULL ,
48
              [Thread] [varchar] (255) NOT NULL ,
49
              [Level] [varchar] (20) NOT NULL ,
50
              [Logger] [varchar] (255) NOT NULL ,
51
              [Message] [varchar] (4000) NOT NULL 
52
            ) ON [PRIMARY]
53
            </code>
54
            </example>
55
            <example>
56
            An example configuration to log to the above table:
57
            <code lang="XML" escaped="true">
58
            <appender name="AdoNetAppender_SqlServer" type="log4net.Appender.AdoNetAppender">
59
              <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
60
              <connectionString value="data source=SQLSVR;initial catalog=test_log4net;integrated security=false;persist security info=True;User ID=sa;Password=sa"/>
61
              <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES (@log_date, @thread, @log_level, @logger, @message)"/>
62
              <parameter>
63
                <parameterName value="@log_date"/>
64
                <dbType value="DateTime"/>
65
                <layout type="log4net.Layout.PatternLayout" value="%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}"/>
66
              </parameter>
67
              <parameter>
68
                <parameterName value="@thread"/>
69
                <dbType value="String"/>
70
                <size value="255"/>
71
                <layout type="log4net.Layout.PatternLayout" value="%thread"/>
72
              </parameter>
73
              <parameter>
74
                <parameterName value="@log_level"/>
75
                <dbType value="String"/>
76
                <size value="50"/>
77
                <layout type="log4net.Layout.PatternLayout" value="%level"/>
78
              </parameter>
79
              <parameter>
80
                <parameterName value="@logger"/>
81
                <dbType value="String"/>
82
                <size value="255"/>
83
                <layout type="log4net.Layout.PatternLayout" value="%logger"/>
84
              </parameter>
85
              <parameter>
86
                <parameterName value="@message"/>
87
                <dbType value="String"/>
88
                <size value="4000"/>
89
                <layout type="log4net.Layout.PatternLayout" value="%message"/>
90
              </parameter>
91
            </appender>
92
            </code>
93
            </example>
94
            <author>Julian Biddle</author>
95
            <author>Nicko Cadell</author>
96
            <author>Gert Driesen</author>
97
            <author>Lance Nehring</author>
98
        </member>
99
        <member name="T:log4net.Appender.BufferingAppenderSkeleton">
100
            <summary>
101
            Abstract base class implementation of <see cref="T:log4net.Appender.IAppender"/> that 
102
            buffers events in a fixed size buffer.
103
            </summary>
104
            <remarks>
105
            <para>
106
            This base class should be used by appenders that need to buffer a 
107
            number of events before logging them. For example the <see cref="T:log4net.Appender.AdoNetAppender"/> 
108
            buffers events and then submits the entire contents of the buffer to 
109
            the underlying database in one go.
110
            </para>
111
            <para>
112
            Subclasses should override the <see cref="M:SendBuffer(LoggingEvent[])"/>
113
            method to deliver the buffered events.
114
            </para>
115
            <para>The BufferingAppenderSkeleton maintains a fixed size cyclic 
116
            buffer of events. The size of the buffer is set using 
117
            the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> property.
118
            </para>
119
            <para>A <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> is used to inspect 
120
            each event as it arrives in the appender. If the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> 
121
            triggers, then the current buffer is sent immediately 
122
            (see <see cref="M:SendBuffer(LoggingEvent[])"/>). Otherwise the event 
123
            is stored in the buffer. For example, an evaluator can be used to 
124
            deliver the events immediately when an ERROR event arrives.
125
            </para>
126
            <para>
127
            The buffering appender can be configured in a <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> mode. 
128
            By default the appender is NOT lossy. When the buffer is full all 
129
            the buffered events are sent with <see cref="M:SendBuffer(LoggingEvent[])"/>.
130
            If the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> property is set to <c>true</c> then the 
131
            buffer will not be sent when it is full, and new events arriving 
132
            in the appender will overwrite the oldest event in the buffer. 
133
            In lossy mode the buffer will only be sent when the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/>
134
            triggers. This can be useful behavior when you need to know about 
135
            ERROR events but not about events with a lower level, configure an 
136
            evaluator that will trigger when an ERROR event arrives, the whole 
137
            buffer will be sent which gives a history of events leading up to
138
            the ERROR event.
139
            </para>
140
            </remarks>
141
            <author>Nicko Cadell</author>
142
            <author>Gert Driesen</author>
143
        </member>
144
        <member name="T:log4net.Appender.AppenderSkeleton">
145
            <summary>
146
            Abstract base class implementation of <see cref="T:log4net.Appender.IAppender"/>. 
147
            </summary>
148
            <remarks>
149
            <para>
150
            This class provides the code for common functionality, such 
151
            as support for threshold filtering and support for general filters.
152
            </para>
153
            <para>
154
            Appenders can also implement the <see cref="T:log4net.Core.IOptionHandler"/> interface. Therefore
155
            they would require that the <see cref="M:IOptionHandler.ActivateOptions()"/> method
156
            be called after the appenders properties have been configured.
157
            </para>
158
            </remarks>
159
            <author>Nicko Cadell</author>
160
            <author>Gert Driesen</author>
161
        </member>
162
        <member name="T:log4net.Appender.IAppender">
163
            <summary>
164
            Implement this interface for your own strategies for printing log statements.
165
            </summary>
166
            <remarks>
167
            <para>
168
            Implementors should consider extending the <see cref="T:log4net.Appender.AppenderSkeleton"/>
169
            class which provides a default implementation of this interface.
170
            </para>
171
            <para>
172
            Appenders can also implement the <see cref="T:log4net.Core.IOptionHandler"/> interface. Therefore
173
            they would require that the <see cref="M:IOptionHandler.ActivateOptions()"/> method
174
            be called after the appenders properties have been configured.
175
            </para>
176
            </remarks>
177
            <author>Nicko Cadell</author>
178
            <author>Gert Driesen</author>
179
        </member>
180
        <member name="M:log4net.Appender.IAppender.Close">
181
            <summary>
182
            Closes the appender and releases resources.
183
            </summary>
184
            <remarks>
185
            <para>
186
            Releases any resources allocated within the appender such as file handles, 
187
            network connections, etc.
188
            </para>
189
            <para>
190
            It is a programming error to append to a closed appender.
191
            </para>
192
            </remarks>
193
        </member>
194
        <member name="M:log4net.Appender.IAppender.DoAppend(log4net.Core.LoggingEvent)">
195
            <summary>
196
            Log the logging event in Appender specific way.
197
            </summary>
198
            <param name="loggingEvent">The event to log</param>
199
            <remarks>
200
            <para>
201
            This method is called to log a message into this appender.
202
            </para>
203
            </remarks>
204
        </member>
205
        <member name="P:log4net.Appender.IAppender.Name">
206
            <summary>
207
            Gets or sets the name of this appender.
208
            </summary>
209
            <value>The name of the appender.</value>
210
            <remarks>
211
            <para>The name uniquely identifies the appender.</para>
212
            </remarks>
213
        </member>
214
        <member name="T:log4net.Appender.IBulkAppender">
215
            <summary>
216
            Interface for appenders that support bulk logging.
217
            </summary>
218
            <remarks>
219
            <para>
220
            This interface extends the <see cref="T:log4net.Appender.IAppender"/> interface to
221
            support bulk logging of <see cref="T:log4net.Core.LoggingEvent"/> objects. Appenders
222
            should only implement this interface if they can bulk log efficiently.
223
            </para>
224
            </remarks>
225
            <author>Nicko Cadell</author>
226
        </member>
227
        <member name="M:log4net.Appender.IBulkAppender.DoAppend(log4net.Core.LoggingEvent[])">
228
            <summary>
229
            Log the array of logging events in Appender specific way.
230
            </summary>
231
            <param name="loggingEvents">The events to log</param>
232
            <remarks>
233
            <para>
234
            This method is called to log an array of events into this appender.
235
            </para>
236
            </remarks>
237
        </member>
238
        <member name="T:log4net.Core.IOptionHandler">
239
            <summary>
240
            Interface used to delay activate a configured object.
241
            </summary>
242
            <remarks>
243
            <para>
244
            This allows an object to defer activation of its options until all
245
            options have been set. This is required for components which have
246
            related options that remain ambiguous until all are set.
247
            </para>
248
            <para>
249
            If a component implements this interface then the <see cref="M:log4net.Core.IOptionHandler.ActivateOptions"/> method 
250
            must be called by the container after its all the configured properties have been set 
251
            and before the component can be used.
252
            </para>
253
            </remarks>
254
            <author>Nicko Cadell</author>
255
        </member>
256
        <member name="M:log4net.Core.IOptionHandler.ActivateOptions">
257
            <summary>
258
            Activate the options that were previously set with calls to properties.
259
            </summary>
260
            <remarks>
261
            <para>
262
            This allows an object to defer activation of its options until all
263
            options have been set. This is required for components which have
264
            related options that remain ambiguous until all are set.
265
            </para>
266
            <para>
267
            If a component implements this interface then this method must be called
268
            after its properties have been set before the component can be used.
269
            </para>
270
            </remarks>
271
        </member>
272
        <member name="F:log4net.Appender.AppenderSkeleton.c_renderBufferSize">
273
            <summary>
274
            Initial buffer size
275
            </summary>
276
        </member>
277
        <member name="F:log4net.Appender.AppenderSkeleton.c_renderBufferMaxCapacity">
278
            <summary>
279
            Maximum buffer size before it is recycled
280
            </summary>
281
        </member>
282
        <member name="M:log4net.Appender.AppenderSkeleton.#ctor">
283
            <summary>
284
            Default constructor
285
            </summary>
286
            <remarks>
287
            <para>Empty default constructor</para>
288
            </remarks>
289
        </member>
290
        <member name="M:log4net.Appender.AppenderSkeleton.Finalize">
291
            <summary>
292
            Finalizes this appender by calling the implementation's 
293
            <see cref="M:log4net.Appender.AppenderSkeleton.Close"/> method.
294
            </summary>
295
            <remarks>
296
            <para>
297
            If this appender has not been closed then the <c>Finalize</c> method
298
            will call <see cref="M:log4net.Appender.AppenderSkeleton.Close"/>.
299
            </para>
300
            </remarks>
301
        </member>
302
        <member name="M:log4net.Appender.AppenderSkeleton.ActivateOptions">
303
            <summary>
304
            Initialize the appender based on the options set
305
            </summary>
306
            <remarks>
307
            <para>
308
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
309
            activation scheme. The <see cref="M:log4net.Appender.AppenderSkeleton.ActivateOptions"/> method must 
310
            be called on this object after the configuration properties have
311
            been set. Until <see cref="M:log4net.Appender.AppenderSkeleton.ActivateOptions"/> is called this
312
            object is in an undefined state and must not be used. 
313
            </para>
314
            <para>
315
            If any of the configuration properties are modified then 
316
            <see cref="M:log4net.Appender.AppenderSkeleton.ActivateOptions"/> must be called again.
317
            </para>
318
            </remarks>
319
        </member>
320
        <member name="M:log4net.Appender.AppenderSkeleton.Close">
321
            <summary>
322
            Closes the appender and release resources.
323
            </summary>
324
            <remarks>
325
            <para>
326
            Release any resources allocated within the appender such as file handles, 
327
            network connections, etc.
328
            </para>
329
            <para>
330
            It is a programming error to append to a closed appender.
331
            </para>
332
            <para>
333
            This method cannot be overridden by subclasses. This method 
334
            delegates the closing of the appender to the <see cref="M:log4net.Appender.AppenderSkeleton.OnClose"/>
335
            method which must be overridden in the subclass.
336
            </para>
337
            </remarks>
338
        </member>
339
        <member name="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)">
340
            <summary>
341
            Performs threshold checks and invokes filters before 
342
            delegating actual logging to the subclasses specific 
343
            <see cref="M:Append(LoggingEvent)"/> method.
344
            </summary>
345
            <param name="loggingEvent">The event to log.</param>
346
            <remarks>
347
            <para>
348
            This method cannot be overridden by derived classes. A
349
            derived class should override the <see cref="M:Append(LoggingEvent)"/> method
350
            which is called by this method.
351
            </para>
352
            <para>
353
            The implementation of this method is as follows:
354
            </para>
355
            <para>
356
            <list type="bullet">
357
            	<item>
358
            		<description>
359
            		Checks that the severity of the <paramref name="loggingEvent"/>
360
            		is greater than or equal to the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> of this
361
            		appender.</description>
362
            	</item>
363
            	<item>
364
            		<description>
365
            		Checks that the <see cref="T:log4net.Filter.IFilter"/> chain accepts the 
366
            		<paramref name="loggingEvent"/>.
367
            		</description>
368
            	</item>
369
            	<item>
370
            		<description>
371
            		Calls <see cref="M:PreAppendCheck()"/> and checks that 
372
            		it returns <c>true</c>.</description>
373
            	</item>
374
            </list>
375
            </para>
376
            <para>
377
            If all of the above steps succeed then the <paramref name="loggingEvent"/>
378
            will be passed to the abstract <see cref="M:Append(LoggingEvent)"/> method.
379
            </para>
380
            </remarks>
381
        </member>
382
        <member name="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent[])">
383
            <summary>
384
            Performs threshold checks and invokes filters before 
385
            delegating actual logging to the subclasses specific 
386
            <see cref="M:Append(LoggingEvent[])"/> method.
387
            </summary>
388
            <param name="loggingEvents">The array of events to log.</param>
389
            <remarks>
390
            <para>
391
            This method cannot be overridden by derived classes. A
392
            derived class should override the <see cref="M:Append(LoggingEvent[])"/> method
393
            which is called by this method.
394
            </para>
395
            <para>
396
            The implementation of this method is as follows:
397
            </para>
398
            <para>
399
            <list type="bullet">
400
            	<item>
401
            		<description>
402
            		Checks that the severity of the <paramref name="loggingEvents"/>
403
            		is greater than or equal to the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> of this
404
            		appender.</description>
405
            	</item>
406
            	<item>
407
            		<description>
408
            		Checks that the <see cref="T:log4net.Filter.IFilter"/> chain accepts the 
409
            		<paramref name="loggingEvents"/>.
410
            		</description>
411
            	</item>
412
            	<item>
413
            		<description>
414
            		Calls <see cref="M:PreAppendCheck()"/> and checks that 
415
            		it returns <c>true</c>.</description>
416
            	</item>
417
            </list>
418
            </para>
419
            <para>
420
            If all of the above steps succeed then the <paramref name="loggingEvents"/>
421
            will be passed to the <see cref="M:Append(LoggingEvent[])"/> method.
422
            </para>
423
            </remarks>
424
        </member>
425
        <member name="M:log4net.Appender.AppenderSkeleton.FilterEvent(log4net.Core.LoggingEvent)">
426
            <summary>
427
            Test if the logging event should we output by this appender
428
            </summary>
429
            <param name="loggingEvent">the event to test</param>
430
            <returns><c>true</c> if the event should be output, <c>false</c> if the event should be ignored</returns>
431
            <remarks>
432
            <para>
433
            This method checks the logging event against the threshold level set
434
            on this appender and also against the filters specified on this
435
            appender.
436
            </para>
437
            <para>
438
            The implementation of this method is as follows:
439
            </para>
440
            <para>
441
            <list type="bullet">
442
            	<item>
443
            		<description>
444
            		Checks that the severity of the <paramref name="loggingEvent"/>
445
            		is greater than or equal to the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> of this
446
            		appender.</description>
447
            	</item>
448
            	<item>
449
            		<description>
450
            		Checks that the <see cref="T:log4net.Filter.IFilter"/> chain accepts the 
451
            		<paramref name="loggingEvent"/>.
452
            		</description>
453
            	</item>
454
            </list>
455
            </para>
456
            </remarks>
457
        </member>
458
        <member name="M:log4net.Appender.AppenderSkeleton.AddFilter(log4net.Filter.IFilter)">
459
            <summary>
460
            Adds a filter to the end of the filter chain.
461
            </summary>
462
            <param name="filter">the filter to add to this appender</param>
463
            <remarks>
464
            <para>
465
            The Filters are organized in a linked list.
466
            </para>
467
            <para>
468
            Setting this property causes the new filter to be pushed onto the 
469
            back of the filter chain.
470
            </para>
471
            </remarks>
472
        </member>
473
        <member name="M:log4net.Appender.AppenderSkeleton.ClearFilters">
474
            <summary>
475
            Clears the filter list for this appender.
476
            </summary>
477
            <remarks>
478
            <para>
479
            Clears the filter list for this appender.
480
            </para>
481
            </remarks>
482
        </member>
483
        <member name="M:log4net.Appender.AppenderSkeleton.IsAsSevereAsThreshold(log4net.Core.Level)">
484
            <summary>
485
            Checks if the message level is below this appender's threshold.
486
            </summary>
487
            <param name="level"><see cref="T:log4net.Core.Level"/> to test against.</param>
488
            <remarks>
489
            <para>
490
            If there is no threshold set, then the return value is always <c>true</c>.
491
            </para>
492
            </remarks>
493
            <returns>
494
            <c>true</c> if the <paramref name="level"/> meets the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> 
495
            requirements of this appender.
496
            </returns>
497
        </member>
498
        <member name="M:log4net.Appender.AppenderSkeleton.OnClose">
499
            <summary>
500
            Is called when the appender is closed. Derived classes should override 
501
            this method if resources need to be released.
502
            </summary>
503
            <remarks>
504
            <para>
505
            Releases any resources allocated within the appender such as file handles, 
506
            network connections, etc.
507
            </para>
508
            <para>
509
            It is a programming error to append to a closed appender.
510
            </para>
511
            </remarks>
512
        </member>
513
        <member name="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)">
514
            <summary>
515
            Subclasses of <see cref="T:log4net.Appender.AppenderSkeleton"/> should implement this method 
516
            to perform actual logging.
517
            </summary>
518
            <param name="loggingEvent">The event to append.</param>
519
            <remarks>
520
            <para>
521
            A subclass must implement this method to perform
522
            logging of the <paramref name="loggingEvent"/>.
523
            </para>
524
            <para>This method will be called by <see cref="M:DoAppend(LoggingEvent)"/>
525
            if all the conditions listed for that method are met.
526
            </para>
527
            <para>
528
            To restrict the logging of events in the appender
529
            override the <see cref="M:PreAppendCheck()"/> method.
530
            </para>
531
            </remarks>
532
        </member>
533
        <member name="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent[])">
534
            <summary>
535
            Append a bulk array of logging events.
536
            </summary>
537
            <param name="loggingEvents">the array of logging events</param>
538
            <remarks>
539
            <para>
540
            This base class implementation calls the <see cref="M:Append(LoggingEvent)"/>
541
            method for each element in the bulk array.
542
            </para>
543
            <para>
544
            A sub class that can better process a bulk array of events should
545
            override this method in addition to <see cref="M:Append(LoggingEvent)"/>.
546
            </para>
547
            </remarks>
548
        </member>
549
        <member name="M:log4net.Appender.AppenderSkeleton.PreAppendCheck">
550
            <summary>
551
            Called before <see cref="M:Append(LoggingEvent)"/> as a precondition.
552
            </summary>
553
            <remarks>
554
            <para>
555
            This method is called by <see cref="M:DoAppend(LoggingEvent)"/>
556
            before the call to the abstract <see cref="M:Append(LoggingEvent)"/> method.
557
            </para>
558
            <para>
559
            This method can be overridden in a subclass to extend the checks 
560
            made before the event is passed to the <see cref="M:Append(LoggingEvent)"/> method.
561
            </para>
562
            <para>
563
            A subclass should ensure that they delegate this call to
564
            this base class if it is overridden.
565
            </para>
566
            </remarks>
567
            <returns><c>true</c> if the call to <see cref="M:Append(LoggingEvent)"/> should proceed.</returns>
568
        </member>
569
        <member name="M:log4net.Appender.AppenderSkeleton.RenderLoggingEvent(log4net.Core.LoggingEvent)">
570
            <summary>
571
            Renders the <see cref="T:log4net.Core.LoggingEvent"/> to a string.
572
            </summary>
573
            <param name="loggingEvent">The event to render.</param>
574
            <returns>The event rendered as a string.</returns>
575
            <remarks>
576
            <para>
577
            Helper method to render a <see cref="T:log4net.Core.LoggingEvent"/> to 
578
            a string. This appender must have a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/>
579
            set to render the <paramref name="loggingEvent"/> to 
580
            a string.
581
            </para>
582
            <para>If there is exception data in the logging event and 
583
            the layout does not process the exception, this method 
584
            will append the exception text to the rendered string.
585
            </para>
586
            <para>
587
            Where possible use the alternative version of this method
588
            <see cref="M:RenderLoggingEvent(TextWriter,LoggingEvent)"/>.
589
            That method streams the rendering onto an existing Writer
590
            which can give better performance if the caller already has
591
            a <see cref="T:System.IO.TextWriter"/> open and ready for writing.
592
            </para>
593
            </remarks>
594
        </member>
595
        <member name="M:log4net.Appender.AppenderSkeleton.RenderLoggingEvent(System.IO.TextWriter,log4net.Core.LoggingEvent)">
596
            <summary>
597
            Renders the <see cref="T:log4net.Core.LoggingEvent"/> to a string.
598
            </summary>
599
            <param name="loggingEvent">The event to render.</param>
600
            <param name="writer">The TextWriter to write the formatted event to</param>
601
            <remarks>
602
            <para>
603
            Helper method to render a <see cref="T:log4net.Core.LoggingEvent"/> to 
604
            a string. This appender must have a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/>
605
            set to render the <paramref name="loggingEvent"/> to 
606
            a string.
607
            </para>
608
            <para>If there is exception data in the logging event and 
609
            the layout does not process the exception, this method 
610
            will append the exception text to the rendered string.
611
            </para>
612
            <para>
613
            Use this method in preference to <see cref="M:RenderLoggingEvent(LoggingEvent)"/>
614
            where possible. If, however, the caller needs to render the event
615
            to a string then <see cref="M:RenderLoggingEvent(LoggingEvent)"/> does
616
            provide an efficient mechanism for doing so.
617
            </para>
618
            </remarks>
619
        </member>
620
        <member name="F:log4net.Appender.AppenderSkeleton.m_layout">
621
            <summary>
622
            The layout of this appender.
623
            </summary>
624
            <remarks>
625
            See <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/> for more information.
626
            </remarks>
627
        </member>
628
        <member name="F:log4net.Appender.AppenderSkeleton.m_name">
629
            <summary>
630
            The name of this appender.
631
            </summary>
632
            <remarks>
633
            See <see cref="P:log4net.Appender.AppenderSkeleton.Name"/> for more information.
634
            </remarks>
635
        </member>
636
        <member name="F:log4net.Appender.AppenderSkeleton.m_threshold">
637
            <summary>
638
            The level threshold of this appender.
639
            </summary>
640
            <remarks>
641
            <para>
642
            There is no level threshold filtering by default.
643
            </para>
644
            <para>
645
            See <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> for more information.
646
            </para>
647
            </remarks>
648
        </member>
649
        <member name="F:log4net.Appender.AppenderSkeleton.m_errorHandler">
650
            <summary>
651
            It is assumed and enforced that errorHandler is never null.
652
            </summary>
653
            <remarks>
654
            <para>
655
            It is assumed and enforced that errorHandler is never null.
656
            </para>
657
            <para>
658
            See <see cref="P:log4net.Appender.AppenderSkeleton.ErrorHandler"/> for more information.
659
            </para>
660
            </remarks>
661
        </member>
662
        <member name="F:log4net.Appender.AppenderSkeleton.m_headFilter">
663
            <summary>
664
            The first filter in the filter chain.
665
            </summary>
666
            <remarks>
667
            <para>
668
            Set to <c>null</c> initially.
669
            </para>
670
            <para>
671
            See <see cref="T:log4net.Filter.IFilter"/> for more information.
672
            </para>
673
            </remarks>
674
        </member>
675
        <member name="F:log4net.Appender.AppenderSkeleton.m_tailFilter">
676
            <summary>
677
            The last filter in the filter chain.
678
            </summary>
679
            <remarks>
680
            See <see cref="T:log4net.Filter.IFilter"/> for more information.
681
            </remarks>
682
        </member>
683
        <member name="F:log4net.Appender.AppenderSkeleton.m_closed">
684
            <summary>
685
            Flag indicating if this appender is closed.
686
            </summary>
687
            <remarks>
688
            See <see cref="M:log4net.Appender.AppenderSkeleton.Close"/> for more information.
689
            </remarks>
690
        </member>
691
        <member name="F:log4net.Appender.AppenderSkeleton.m_recursiveGuard">
692
            <summary>
693
            The guard prevents an appender from repeatedly calling its own DoAppend method
694
            </summary>
695
        </member>
696
        <member name="F:log4net.Appender.AppenderSkeleton.m_renderWriter">
697
            <summary>
698
            StringWriter used to render events
699
            </summary>
700
        </member>
701
        <member name="F:log4net.Appender.AppenderSkeleton.declaringType">
702
            <summary>
703
            The fully qualified type of the AppenderSkeleton class.
704
            </summary>
705
            <remarks>
706
            Used by the internal logger to record the Type of the
707
            log message.
708
            </remarks>
709
        </member>
710
        <member name="P:log4net.Appender.AppenderSkeleton.Threshold">
711
            <summary>
712
            Gets or sets the threshold <see cref="T:log4net.Core.Level"/> of this appender.
713
            </summary>
714
            <value>
715
            The threshold <see cref="T:log4net.Core.Level"/> of the appender. 
716
            </value>
717
            <remarks>
718
            <para>
719
            All log events with lower level than the threshold level are ignored 
720
            by the appender.
721
            </para>
722
            <para>
723
            In configuration files this option is specified by setting the
724
            value of the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> option to a level
725
            string, such as "DEBUG", "INFO" and so on.
726
            </para>
727
            </remarks>
728
        </member>
729
        <member name="P:log4net.Appender.AppenderSkeleton.ErrorHandler">
730
            <summary>
731
            Gets or sets the <see cref="T:log4net.Core.IErrorHandler"/> for this appender.
732
            </summary>
733
            <value>The <see cref="T:log4net.Core.IErrorHandler"/> of the appender</value>
734
            <remarks>
735
            <para>
736
            The <see cref="T:log4net.Appender.AppenderSkeleton"/> provides a default 
737
            implementation for the <see cref="P:log4net.Appender.AppenderSkeleton.ErrorHandler"/> property. 
738
            </para>
739
            </remarks>
740
        </member>
741
        <member name="P:log4net.Appender.AppenderSkeleton.FilterHead">
742
            <summary>
743
            The filter chain.
744
            </summary>
745
            <value>The head of the filter chain filter chain.</value>
746
            <remarks>
747
            <para>
748
            Returns the head Filter. The Filters are organized in a linked list
749
            and so all Filters on this Appender are available through the result.
750
            </para>
751
            </remarks>
752
        </member>
753
        <member name="P:log4net.Appender.AppenderSkeleton.Layout">
754
            <summary>
755
            Gets or sets the <see cref="T:log4net.Layout.ILayout"/> for this appender.
756
            </summary>
757
            <value>The layout of the appender.</value>
758
            <remarks>
759
            <para>
760
            See <see cref="P:log4net.Appender.AppenderSkeleton.RequiresLayout"/> for more information.
761
            </para>
762
            </remarks>
763
            <seealso cref="P:log4net.Appender.AppenderSkeleton.RequiresLayout"/>
764
        </member>
765
        <member name="P:log4net.Appender.AppenderSkeleton.Name">
766
            <summary>
767
            Gets or sets the name of this appender.
768
            </summary>
769
            <value>The name of the appender.</value>
770
            <remarks>
771
            <para>
772
            The name uniquely identifies the appender.
773
            </para>
774
            </remarks>
775
        </member>
776
        <member name="P:log4net.Appender.AppenderSkeleton.RequiresLayout">
777
            <summary>
778
            Tests if this appender requires a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/> to be set.
779
            </summary>
780
            <remarks>
781
            <para>
782
            In the rather exceptional case, where the appender 
783
            implementation admits a layout but can also work without it, 
784
            then the appender should return <c>true</c>.
785
            </para>
786
            <para>
787
            This default implementation always returns <c>false</c>.
788
            </para>
789
            </remarks>
790
            <returns>
791
            <c>true</c> if the appender requires a layout object, otherwise <c>false</c>.
792
            </returns>
793
        </member>
794
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.DEFAULT_BUFFER_SIZE">
795
            <summary>
796
            The default buffer size.
797
            </summary>
798
            <remarks>
799
            The default size of the cyclic buffer used to store events.
800
            This is set to 512 by default.
801
            </remarks>
802
        </member>
803
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.#ctor">
804
            <summary>
805
            Initializes a new instance of the <see cref="T:log4net.Appender.BufferingAppenderSkeleton"/> class.
806
            </summary>
807
            <remarks>
808
            <para>
809
            Protected default constructor to allow subclassing.
810
            </para>
811
            </remarks>
812
        </member>
813
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.#ctor(System.Boolean)">
814
            <summary>
815
            Initializes a new instance of the <see cref="T:log4net.Appender.BufferingAppenderSkeleton"/> class.
816
            </summary>
817
            <param name="eventMustBeFixed">the events passed through this appender must be
818
            fixed by the time that they arrive in the derived class' <c>SendBuffer</c> method.</param>
819
            <remarks>
820
            <para>
821
            Protected constructor to allow subclassing.
822
            </para>
823
            <para>
824
            The <paramref name="eventMustBeFixed"/> should be set if the subclass
825
            expects the events delivered to be fixed even if the 
826
            <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> is set to zero, i.e. when no buffering occurs.
827
            </para>
828
            </remarks>
829
        </member>
830
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.Flush">
831
            <summary>
832
            Flush the currently buffered events
833
            </summary>
834
            <remarks>
835
            <para>
836
            Flushes any events that have been buffered.
837
            </para>
838
            <para>
839
            If the appender is buffering in <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> mode then the contents
840
            of the buffer will NOT be flushed to the appender.
841
            </para>
842
            </remarks>
843
        </member>
844
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.Flush(System.Boolean)">
845
            <summary>
846
            Flush the currently buffered events
847
            </summary>
848
            <param name="flushLossyBuffer">set to <c>true</c> to flush the buffer of lossy events</param>
849
            <remarks>
850
            <para>
851
            Flushes events that have been buffered. If <paramref name="flushLossyBuffer"/> is
852
            <c>false</c> then events will only be flushed if this buffer is non-lossy mode.
853
            </para>
854
            <para>
855
            If the appender is buffering in <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> mode then the contents
856
            of the buffer will only be flushed if <paramref name="flushLossyBuffer"/> is <c>true</c>.
857
            In this case the contents of the buffer will be tested against the 
858
            <see cref="P:log4net.Appender.BufferingAppenderSkeleton.LossyEvaluator"/> and if triggering will be output. All other buffered
859
            events will be discarded.
860
            </para>
861
            <para>
862
            If <paramref name="flushLossyBuffer"/> is <c>true</c> then the buffer will always
863
            be emptied by calling this method.
864
            </para>
865
            </remarks>
866
        </member>
867
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.ActivateOptions">
868
            <summary>
869
            Initialize the appender based on the options set
870
            </summary>
871
            <remarks>
872
            <para>
873
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
874
            activation scheme. The <see cref="M:log4net.Appender.BufferingAppenderSkeleton.ActivateOptions"/> method must 
875
            be called on this object after the configuration properties have
876
            been set. Until <see cref="M:log4net.Appender.BufferingAppenderSkeleton.ActivateOptions"/> is called this
877
            object is in an undefined state and must not be used. 
878
            </para>
879
            <para>
880
            If any of the configuration properties are modified then 
881
            <see cref="M:log4net.Appender.BufferingAppenderSkeleton.ActivateOptions"/> must be called again.
882
            </para>
883
            </remarks>
884
        </member>
885
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.OnClose">
886
            <summary>
887
            Close this appender instance.
888
            </summary>
889
            <remarks>
890
            <para>
891
            Close this appender instance. If this appender is marked
892
            as not <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> then the remaining events in 
893
            the buffer must be sent when the appender is closed.
894
            </para>
895
            </remarks>
896
        </member>
897
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.Append(log4net.Core.LoggingEvent)">
898
            <summary>
899
            This method is called by the <see cref="M:AppenderSkeleton.DoAppend(LoggingEvent)"/> method. 
900
            </summary>
901
            <param name="loggingEvent">the event to log</param>
902
            <remarks>
903
            <para>
904
            Stores the <paramref name="loggingEvent"/> in the cyclic buffer.
905
            </para>
906
            <para>
907
            The buffer will be sent (i.e. passed to the <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])"/> 
908
            method) if one of the following conditions is met:
909
            </para>
910
            <list type="bullet">
911
            	<item>
912
            		<description>The cyclic buffer is full and this appender is
913
            		marked as not lossy (see <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/>)</description>
914
            	</item>
915
            	<item>
916
            		<description>An <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> is set and
917
            		it is triggered for the <paramref name="loggingEvent"/>
918
            		specified.</description>
919
            	</item>
920
            </list>
921
            <para>
922
            Before the event is stored in the buffer it is fixed
923
            (see <see cref="M:LoggingEvent.FixVolatileData(FixFlags)"/>) to ensure that
924
            any data referenced by the event will be valid when the buffer
925
            is processed.
926
            </para>
927
            </remarks>
928
        </member>
929
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.SendFromBuffer(log4net.Core.LoggingEvent,log4net.Util.CyclicBuffer)">
930
            <summary>
931
            Sends the contents of the buffer.
932
            </summary>
933
            <param name="firstLoggingEvent">The first logging event.</param>
934
            <param name="buffer">The buffer containing the events that need to be send.</param>
935
            <remarks>
936
            <para>
937
            The subclass must override <see cref="M:SendBuffer(LoggingEvent[])"/>.
938
            </para>
939
            </remarks>
940
        </member>
941
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])">
942
            <summary>
943
            Sends the events.
944
            </summary>
945
            <param name="events">The events that need to be send.</param>
946
            <remarks>
947
            <para>
948
            The subclass must override this method to process the buffered events.
949
            </para>
950
            </remarks>
951
        </member>
952
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_bufferSize">
953
            <summary>
954
            The size of the cyclic buffer used to hold the logging events.
955
            </summary>
956
            <remarks>
957
            Set to <see cref="F:log4net.Appender.BufferingAppenderSkeleton.DEFAULT_BUFFER_SIZE"/> by default.
958
            </remarks>
959
        </member>
960
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_cb">
961
            <summary>
962
            The cyclic buffer used to store the logging events.
963
            </summary>
964
        </member>
965
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_evaluator">
966
            <summary>
967
            The triggering event evaluator that causes the buffer to be sent immediately.
968
            </summary>
969
            <remarks>
970
            The object that is used to determine if an event causes the entire
971
            buffer to be sent immediately. This field can be <c>null</c>, which 
972
            indicates that event triggering is not to be done. The evaluator
973
            can be set using the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> property. If this appender
974
            has the <see cref="F:log4net.Appender.BufferingAppenderSkeleton.m_lossy"/> (<see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> property) set to 
975
            <c>true</c> then an <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> must be set.
976
            </remarks>
977
        </member>
978
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_lossy">
979
            <summary>
980
            Indicates if the appender should overwrite events in the cyclic buffer 
981
            when it becomes full, or if the buffer should be flushed when the 
982
            buffer is full.
983
            </summary>
984
            <remarks>
985
            If this field is set to <c>true</c> then an <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> must 
986
            be set.
987
            </remarks>
988
        </member>
989
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_lossyEvaluator">
990
            <summary>
991
            The triggering event evaluator filters discarded events.
992
            </summary>
993
            <remarks>
994
            The object that is used to determine if an event that is discarded should
995
            really be discarded or if it should be sent to the appenders. 
996
            This field can be <c>null</c>, which indicates that all discarded events will
997
            be discarded. 
998
            </remarks>
999
        </member>
1000
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_fixFlags">
1001
            <summary>
1002
            Value indicating which fields in the event should be fixed
1003
            </summary>
1004
            <remarks>
1005
            By default all fields are fixed
1006
            </remarks>
1007
        </member>
1008
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_eventMustBeFixed">
1009
            <summary>
1010
            The events delivered to the subclass must be fixed.
1011
            </summary>
1012
        </member>
1013
        <member name="P:log4net.Appender.BufferingAppenderSkeleton.Lossy">
1014
            <summary>
1015
            Gets or sets a value that indicates whether the appender is lossy.
1016
            </summary>
1017
            <value>
1018
            <c>true</c> if the appender is lossy, otherwise <c>false</c>. The default is <c>false</c>.
... 差分の行数が表示可能な上限を超えました。超過分は表示しません。

他の形式にエクスポート: Unified diff