В xamarin .ios я использую nlog, в том случае, если я создаю файл xls & сохранил сообщение о его работоспособности, но я попытался сохранить его в sqllite, не работая. Я создал таблицу под названием ErroLog, в которой созданы 4 столбца .database в папку MyDocument. Скажите, пожалуйста, под кодом ниже, что такое проблема?Как хранить сообщение nlog в sqllite? используя xamarin.ios
private void InitializeNLog()
{
var saveDir = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
var documents = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
_pathToDatabase = Path.Combine(saveDir, "db_sqlite-net.db");
// Create the database and a table to hold Person information.
using (var conn= new SQLite.SQLiteConnection(_pathToDatabase))
{
conn.CreateTable<ErrorLog>();
}
// this coding insert is working but error value not updated
// var errorlog = new ErrorLog { Time = "${longdate}", Level = "${level}", Lessage ="${message}", Logger = "${logger}" };
//
// using (var db = new SQLite.SQLiteConnection(_pathToDatabase))
// {
// db.Insert(errorlog);
// }
DatabaseTarget target = new DatabaseTarget();
target.DBProvider = "System.Data.SQLite.SQLiteConnection, System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139";
target.ConnectionString = "Data Source="+_pathToDatabase+";Version=3;";
target.CommandText = "insert into ErrorLog(Time,Level,Lessage,Logger) values(@Time,@Level,@Lessage,@Logger)";
// target.CommandText = "insert into ErrorLog(Time,Level,Lessage,Logger) values
target.KeepConnection = true;
target.Parameters.Add(new DatabaseParameterInfo("@Time","${longdate}"));
target.Parameters.Add(new DatabaseParameterInfo("@Level","${level}"));
target.Parameters.Add(new DatabaseParameterInfo("@Lessage","${message}"));
target.Parameters.Add(new DatabaseParameterInfo("@Logger","${logger}"));
SimpleConfigurator.ConfigureForTargetLogging(target, LogLevel.Info);
_logger = LogManager.GetCurrentClassLogger();
_logger.Info ("Sample informational message");
// SimpleConfigurator.ConfigureForTargetLogging(
// new FileTarget()
// {
// FileName = Path.Combine(saveDir,"${shortdate}.csv"),
// Layout = new CsvLayout()
// {
// Columns =
// {
// new CsvColumn"Time", "${longdate}"),
// new CsvColumn("Level", "${level}"),
// new CsvColumn("Lessage", "${message}"),
// new CsvColumn("Logger", "${logger}")
// },
// }
// },
// LogLevel.Info);
}