شركة التطبيقات المتكاملة لتصميم النظم البرمجية الخاصة ش.ش.و.

Integrated Applications Programming Company

Skip Navigation LinksHome » Code Library » Log

Public general use code classes and xml files that we've compiled and used over the years:

Log file support class.

   1:  using System;
   2:  using System.IO;
   3:  using System.Text;
   4:   
   5:  namespace Ia.Cl.Model
   6:  {
   7:      /// <summary publish="true">
   8:      /// Log file support class.
   9:      /// </summary>
  10:      /// <remarks> 
  11:      /// Copyright � 2001-2015 Jasem Y. Al-Shamlan (info@ia.com.kw), Integrated Applications - Kuwait. All Rights Reserved.
  12:      ///
  13:      /// This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
  14:      /// the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
  15:      ///
  16:      /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
  17:      /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
  18:      /// 
  19:      /// You should have received a copy of the GNU General Public License along with this library. If not, see http://www.gnu.org/licenses.
  20:      /// 
  21:      /// Copyright notice: This notice may not be removed or altered from any source distribution.
  22:      /// </remarks>
  23:      public class Log
  24:      {
  25:          ////////////////////////////////////////////////////////////////////////////
  26:   
  27:          /// <summary>
  28:          ///
  29:          /// </summary>
  30:          public Log() { }
  31:   
  32:          ////////////////////////////////////////////////////////////////////////////
  33:   
  34:          /// <summary>
  35:          ///
  36:          /// </summary>
  37:          public static void Open()
  38:          {
  39:          }
  40:   
  41:          ////////////////////////////////////////////////////////////////////////////
  42:   
  43:          /// <summary>
  44:          ///
  45:          /// </summary>
  46:          public static void Append(string file_path, string first_line, string line)
  47:          {
  48:              // 
  49:              string path;
  50:              StreamWriter sw = null;
  51:   
  52:              path = Ia.Cl.Model.Default.AbsolutePath();
  53:   
  54:              path = path + file_path;
  55:   
  56:              try
  57:              {
  58:                  if (!System.IO.File.Exists(path))
  59:                  {
  60:                      using (sw = System.IO.File.CreateText(path)) sw.WriteLine(first_line);
  61:                  }
  62:   
  63:                  using (sw = System.IO.File.AppendText(path)) sw.WriteLine(line);
  64:              }
  65:              catch (Exception) { }
  66:          }
  67:   
  68:          ////////////////////////////////////////////////////////////////////////////
  69:   
  70:          /// <summary>
  71:          ///
  72:          /// </summary>
  73:          public static void Append(string file_path, string line)
  74:          {
  75:              // 
  76:              string path;
  77:              StreamWriter sw = null;
  78:   
  79:              path = Ia.Cl.Model.Default.AbsolutePath();
  80:   
  81:              path = path + file_path;
  82:   
  83:              try
  84:              {
  85:                  if (!System.IO.File.Exists(path))
  86:                  {
  87:                      using (sw = System.IO.File.CreateText(path)) sw.WriteLine(line);
  88:                  }
  89:                  else
  90:                  {
  91:                      using (sw = System.IO.File.AppendText(path)) sw.WriteLine(line);
  92:                  }
  93:              }
  94:              catch (Exception) { }
  95:          }
  96:   
  97:          ////////////////////////////////////////////////////////////////////////////
  98:   
  99:          /// <summary>
 100:          ///
 101:          /// </summary>
 102:          public static string Read(string file_path)
 103:          {
 104:              string path, sa;
 105:              StreamReader sr = null;
 106:              StringBuilder sb = new StringBuilder(110000);
 107:   
 108:              path = Ia.Cl.Model.Default.AbsolutePath();
 109:   
 110:              path = path + file_path;
 111:   
 112:              try
 113:              {
 114:                  if (System.IO.File.Exists(path))
 115:                  {
 116:                      using (sr = System.IO.File.OpenText(path))
 117:                      {
 118:                          while ((sa = sr.ReadLine()) != null) sb.Append(sa + "\n");
 119:                      }
 120:                  }
 121:              }
 122:              catch (Exception)
 123:              {
 124:              }
 125:   
 126:              return sb.ToString();
 127:          }
 128:   
 129:          ////////////////////////////////////////////////////////////////////////////
 130:   
 131:          /// <summary>
 132:          /// Log a standard logging entry into a special database table
 133:          /// </summary>
 134:          public long Log2(int TypeId, string user_id, string refe, long reference_log_id, int direction_id, int system_id, int process_id, int function_id, string detail, DateTime created)
 135:          {
 136:              long l;
 137:              string s;
 138:   
 139:              // See table ia_log and log.xml
 140:   
 141:              /*
 142:  CREATE TABLE [dbo].[ia_log]
 143:  (
 144:   [id]                    int    IDENTITY(1,1) CONSTRAINT [ia_log_id_pk] PRIMARY KEY,
 145:   [TypeId]                tinyint NULL,
 146:   [user_id]                uniqueidentifier NULL,
 147:   [ref]                    nvarchar(32) NULL,
 148:   [ia_log_id]            int NULL,
 149:   [direction_id]    tinyint NULL,
 150:   [system_id]            smallint NULL,
 151:   [process_id]            smallint NULL,
 152:   [function_id]            smallint NULL,
 153:   [detail]                ntext NULL,
 154:   [created]                smalldatetime NULL
 155:  )
 156:              */
 157:   
 158:              if (user_id == null) user_id = "NULL";
 159:              else user_id = "'" + user_id + "'";
 160:   
 161:              if (reference_log_id == 0) s = "NULL";
 162:              else s = reference_log_id.ToString();
 163:   
 164:              //sql = "INSERT INTO [ia_log] ([TypeId],[user_id],[ref],[ia_log_id],[direction_id],[system_id],[process_id],[function_id],[detail],[created]) VALUES (" + TypeId + "," + user_id + ",'" + refe + "'," + s + "," + direction_id + "," + system_id + "," + process_id + "," + function_id + ",'" + HttpUtility.HtmlEncode(detail) + "','" + SmallDateTime(created) + "');SELECT SCOPE_IDENTITY()";
 165:   
 166:              //Sql(sql);
 167:   
 168:              //s = Scalar(sql);
 169:   
 170:              l = long.Parse(s);
 171:   
 172:              return l;
 173:          }
 174:   
 175:          ////////////////////////////////////////////////////////////////////////////
 176:          ////////////////////////////////////////////////////////////////////////////
 177:      }
 178:  }