├── DB ├── LogStore.db └── Management.db ├── Lib ├── Beetle.Express │ ├── 2.0 │ │ └── Beetle.Express.dll │ └── 4.0 │ │ └── Beetle.Express.dll ├── IKende.com.core.dll ├── Peanut.dll ├── System.Data.SQLite.dll └── protobuf-net.dll ├── Log4Grid.Appender.Test ├── App.config ├── Log4Grid.Appender.Test.csproj ├── Program.cs └── Properties │ └── AssemblyInfo.cs ├── Log4Grid.Appender ├── Log4Grid.Appender.csproj ├── Log4GridAppender.cs └── Properties │ └── AssemblyInfo.cs ├── Log4Grid.Config ├── InterfaceFactory.cs ├── Log4Grid.Config.csproj ├── Log4GridSection.csd ├── Log4GridSection.csd.config ├── Log4GridSection.csd.cs ├── Log4GridSection.csd.diagram ├── Log4GridSection.csd.xsd └── Properties │ └── AssemblyInfo.cs ├── Log4Grid.DBModels ├── Converts.cs ├── DBModels.Model.cs ├── DBModels.cs ├── Log4Grid.DBModels.csproj └── Properties │ └── AssemblyInfo.cs ├── Log4Grid.DataAccess ├── Log4Grid.DataAccess.csproj ├── LogSearchHandlerBase.cs ├── LogStoreHandlerBase.cs ├── ManagementBase.cs ├── Properties │ └── AssemblyInfo.cs └── UserHandlerBase.cs ├── Log4Grid.Interfaces ├── IAppManagement.cs ├── ILogSearchHandler.cs ├── ILogStoreHandler.cs ├── IUserManager.cs ├── Log4Grid.Interfaces.csproj └── Properties │ └── AssemblyInfo.cs ├── Log4Grid.MSSQL ├── Log4Grid.MSSQL.csproj ├── Log4Grid.MSSQL.csproj.user ├── LogSearchHandler.cs ├── LogStoreHandler.cs ├── Management.cs ├── Properties │ └── AssemblyInfo.cs ├── UserHandler.cs └── log4grid.sql ├── Log4Grid.Management.Web ├── App_Start │ ├── FilterConfig.cs │ ├── RouteConfig.cs │ └── WebApiConfig.cs ├── Codes │ └── Utils.cs ├── Controllers │ ├── Filters │ │ ├── AjaxSuccess.cs │ │ └── LoginAttribute.cs │ └── HomeController.cs ├── Css │ ├── bootstrap-dialog.min.css │ ├── bootstrap.min.css │ ├── datepicker3.css │ └── website.css ├── Global.asax ├── Global.asax.cs ├── Images │ ├── app.png │ ├── application.png │ ├── icon.png │ ├── log4grid-icon.png │ └── server.png ├── Log4Grid.Management.Web.Publish.xml ├── Log4Grid.Management.Web.csproj ├── Log4Grid.Management.Web.csproj.user ├── Log4Grid.config ├── Models │ ├── HomeLogList.cs │ ├── HomeUsers.cs │ └── IndexView.cs ├── Properties │ └── AssemblyInfo.cs ├── Views │ ├── Controls │ │ └── Pagebar.cshtml │ ├── Default.cshtml │ ├── Home │ │ ├── CreateUser.cshtml │ │ ├── Index.cshtml │ │ ├── LogList.cshtml │ │ ├── Login.cshtml │ │ └── Users.cshtml │ ├── Web.config │ └── _ViewStart.cshtml ├── Web.Debug.config ├── Web.Release.config ├── Web.config ├── js │ ├── bootstrap-datepicker.js │ ├── bootstrap-dialog.min.js │ └── locales │ │ ├── bootstrap-datepicker.ar.js │ │ ├── bootstrap-datepicker.az.js │ │ ├── bootstrap-datepicker.bg.js │ │ ├── bootstrap-datepicker.ca.js │ │ ├── bootstrap-datepicker.cs.js │ │ ├── bootstrap-datepicker.cy.js │ │ ├── bootstrap-datepicker.da.js │ │ ├── bootstrap-datepicker.de.js │ │ ├── bootstrap-datepicker.el.js │ │ ├── bootstrap-datepicker.es.js │ │ ├── bootstrap-datepicker.et.js │ │ ├── bootstrap-datepicker.fa.js │ │ ├── bootstrap-datepicker.fi.js │ │ ├── bootstrap-datepicker.fr.js │ │ ├── bootstrap-datepicker.gl.js │ │ ├── bootstrap-datepicker.he.js │ │ ├── bootstrap-datepicker.hr.js │ │ ├── bootstrap-datepicker.hu.js │ │ ├── bootstrap-datepicker.id.js │ │ ├── bootstrap-datepicker.is.js │ │ ├── bootstrap-datepicker.it.js │ │ ├── bootstrap-datepicker.ja.js │ │ ├── bootstrap-datepicker.ka.js │ │ ├── bootstrap-datepicker.kk.js │ │ ├── bootstrap-datepicker.kr.js │ │ ├── bootstrap-datepicker.lt.js │ │ ├── bootstrap-datepicker.lv.js │ │ ├── bootstrap-datepicker.mk.js │ │ ├── bootstrap-datepicker.ms.js │ │ ├── bootstrap-datepicker.nb.js │ │ ├── bootstrap-datepicker.nl-BE.js │ │ ├── bootstrap-datepicker.nl.js │ │ ├── bootstrap-datepicker.no.js │ │ ├── bootstrap-datepicker.pl.js │ │ ├── bootstrap-datepicker.pt-BR.js │ │ ├── bootstrap-datepicker.pt.js │ │ ├── bootstrap-datepicker.ro.js │ │ ├── bootstrap-datepicker.rs-latin.js │ │ ├── bootstrap-datepicker.rs.js │ │ ├── bootstrap-datepicker.ru.js │ │ ├── bootstrap-datepicker.sk.js │ │ ├── bootstrap-datepicker.sl.js │ │ ├── bootstrap-datepicker.sq.js │ │ ├── bootstrap-datepicker.sv.js │ │ ├── bootstrap-datepicker.sw.js │ │ ├── bootstrap-datepicker.th.js │ │ ├── bootstrap-datepicker.tr.js │ │ ├── bootstrap-datepicker.ua.js │ │ ├── bootstrap-datepicker.vi.js │ │ ├── bootstrap-datepicker.zh-CN.js │ │ └── bootstrap-datepicker.zh-TW.js └── packages.config ├── Log4Grid.Models ├── ApplicationData.cs ├── Log4Grid.Models.csproj ├── LogModel.cs ├── LogType.cs ├── Properties │ └── AssemblyInfo.cs ├── ProtobufPacket.cs ├── StatModel.cs └── User.cs ├── Log4Grid.MySQL ├── Log4Grid.MySQL.csproj ├── LogSearchHandler.cs ├── LogStoreHandler.cs ├── Management.cs ├── MySQLDriver.cs ├── Properties │ └── AssemblyInfo.cs ├── UserHandler.cs └── log4grid.sql ├── Log4Grid.Service.ConsoleApp ├── App.config ├── Log4Grid.Service.ConsoleApp.csproj ├── Log4Grid.config ├── Program.cs └── Properties │ └── AssemblyInfo.cs ├── Log4Grid.Service.WinService ├── App.config ├── Log4Grid.Service.WinService.csproj ├── Log4Grid.config ├── Program.cs ├── Properties │ └── AssemblyInfo.cs ├── Service1.Designer.cs ├── Service1.cs ├── install.bat └── uninstall.bat ├── Log4Grid.Service ├── Log4Grid.Service.csproj ├── Log4Grid.Service.csproj.user ├── LogServer.cs ├── LogServerSection.csd ├── LogServerSection.csd.config ├── LogServerSection.csd.cs ├── LogServerSection.csd.diagram ├── LogServerSection.csd.xsd ├── MessageHandler.cs ├── Properties │ └── AssemblyInfo.cs └── Utils.cs ├── Log4Grid.Sqlite ├── DBModel.Model.cs ├── DBModel.cs ├── Log4Grid.Sqlite.csproj ├── Log4Grid.Sqlite.csproj.user ├── LogSearchHandler.cs ├── LogStoreHandler.cs ├── Management4Sqlite.cs ├── Properties │ └── AssemblyInfo.cs ├── SqliteDriver.cs └── UserHandler.cs ├── Log4Grid.sln ├── Log4Grid.suo ├── README.md └── packages ├── Microsoft.AspNet.Mvc.4.0.20710.0 ├── Microsoft.AspNet.Mvc.4.0.20710.0.nupkg └── lib │ └── net40 │ ├── System.Web.Mvc.dll │ └── System.Web.Mvc.xml ├── Microsoft.AspNet.Razor.2.0.20710.0 ├── Microsoft.AspNet.Razor.2.0.20710.0.nupkg └── lib │ └── net40 │ ├── System.Web.Razor.dll │ └── System.Web.Razor.xml ├── Microsoft.AspNet.WebApi.4.0.20710.0 └── Microsoft.AspNet.WebApi.4.0.20710.0.nupkg ├── Microsoft.AspNet.WebApi.Client.4.0.20710.0 ├── Microsoft.AspNet.WebApi.Client.4.0.20710.0.nupkg └── lib │ └── net40 │ ├── System.Net.Http.Formatting.dll │ └── System.Net.Http.Formatting.xml ├── Microsoft.AspNet.WebApi.Core.4.0.20710.0 ├── Microsoft.AspNet.WebApi.Core.4.0.20710.0.nupkg ├── content │ └── web.config.transform └── lib │ └── net40 │ ├── System.Web.Http.dll │ └── System.Web.Http.xml ├── Microsoft.AspNet.WebApi.WebHost.4.0.20710.0 ├── Microsoft.AspNet.WebApi.WebHost.4.0.20710.0.nupkg └── lib │ └── net40 │ ├── System.Web.Http.WebHost.dll │ └── System.Web.Http.WebHost.xml ├── Microsoft.AspNet.WebPages.2.0.20710.0 ├── Microsoft.AspNet.WebPages.2.0.20710.0.nupkg └── lib │ └── net40 │ ├── System.Web.Helpers.dll │ ├── System.Web.Helpers.xml │ ├── System.Web.WebPages.Deployment.dll │ ├── System.Web.WebPages.Deployment.xml │ ├── System.Web.WebPages.Razor.dll │ ├── System.Web.WebPages.Razor.xml │ ├── System.Web.WebPages.dll │ └── System.Web.WebPages.xml ├── Microsoft.Net.Http.2.0.20710.0 ├── Microsoft.Net.Http.2.0.20710.0.nupkg └── lib │ ├── net40 │ ├── System.Net.Http.WebRequest.dll │ ├── System.Net.Http.WebRequest.xml │ ├── System.Net.Http.dll │ └── System.Net.Http.xml │ └── net45 │ └── _._ ├── Microsoft.Web.Infrastructure.1.0.0.0 ├── Microsoft.Web.Infrastructure.1.0.0.0.nupkg └── lib │ └── net40 │ └── Microsoft.Web.Infrastructure.dll ├── Newtonsoft.Json.4.5.6 ├── Newtonsoft.Json.4.5.6.nupkg └── lib │ └── net40 │ ├── Newtonsoft.Json.dll │ └── Newtonsoft.Json.xml └── repositories.config /DB/LogStore.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/DB/LogStore.db -------------------------------------------------------------------------------- /DB/Management.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/DB/Management.db -------------------------------------------------------------------------------- /Lib/Beetle.Express/2.0/Beetle.Express.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/Lib/Beetle.Express/2.0/Beetle.Express.dll -------------------------------------------------------------------------------- /Lib/Beetle.Express/4.0/Beetle.Express.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/Lib/Beetle.Express/4.0/Beetle.Express.dll -------------------------------------------------------------------------------- /Lib/IKende.com.core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/Lib/IKende.com.core.dll -------------------------------------------------------------------------------- /Lib/Peanut.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/Lib/Peanut.dll -------------------------------------------------------------------------------- /Lib/System.Data.SQLite.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/Lib/System.Data.SQLite.dll -------------------------------------------------------------------------------- /Lib/protobuf-net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/Lib/protobuf-net.dll -------------------------------------------------------------------------------- /Log4Grid.Appender.Test/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /Log4Grid.Appender.Test/Log4Grid.Appender.Test.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | x86 6 | 8.0.30703 7 | 2.0 8 | {4588F814-317D-40A4-BB67-BF7245316026} 9 | Exe 10 | Properties 11 | Log4Grid.Appender.Test 12 | Log4Grid.Appender.Test 13 | v4.0 14 | 15 | 16 | 512 17 | 18 | 19 | x86 20 | true 21 | full 22 | false 23 | bin\Debug\ 24 | DEBUG;TRACE 25 | prompt 26 | 4 27 | 28 | 29 | x86 30 | pdbonly 31 | true 32 | bin\Release\ 33 | TRACE 34 | prompt 35 | 4 36 | 37 | 38 | 39 | False 40 | ..\..\OthreLib\log4net.dll 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | {D59A3882-FE9B-45D9-88E2-A7697876510B} 57 | Log4Grid.Appender 58 | 59 | 60 | 61 | 62 | 63 | 64 | 71 | -------------------------------------------------------------------------------- /Log4Grid.Appender.Test/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Log4Grid.Appender.Test 7 | { 8 | class Program 9 | { 10 | static void Main(string[] args) 11 | { 12 | log4net.Config.XmlConfigurator.Configure(); 13 | log4net.ILog log = log4net.LogManager.GetLogger("test"); 14 | while (true) 15 | { 16 | log.ErrorFormat("{0} test error!", "henryfan"); 17 | System.Threading.Thread.Sleep(5000); 18 | log.InfoFormat("{0} test Info!", "henryfan"); 19 | System.Threading.Thread.Sleep(5000); 20 | log.DebugFormat("{0} test Info!", "henryfan"); 21 | System.Threading.Thread.Sleep(5000); 22 | log.FatalFormat("{0} test Info!", "henryfan"); 23 | System.Threading.Thread.Sleep(5000); 24 | 25 | } 26 | Console.Read(); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Log4Grid.Appender.Test/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // 有关程序集的常规信息通过以下 6 | // 特性集控制。更改这些特性值可修改 7 | // 与程序集关联的信息。 8 | [assembly: AssemblyTitle("Log4Grid.Appender.Test")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Microsoft")] 12 | [assembly: AssemblyProduct("Log4Grid.Appender.Test")] 13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2014")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // 将 ComVisible 设置为 false 使此程序集中的类型 18 | // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型, 19 | // 则将该类型上的 ComVisible 特性设置为 true。 20 | [assembly: ComVisible(false)] 21 | 22 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID 23 | [assembly: Guid("d45c6610-c8c9-4621-9211-4b455c872ae1")] 24 | 25 | // 程序集的版本信息由下面四个值组成: 26 | // 27 | // 主版本 28 | // 次版本 29 | // 内部版本号 30 | // 修订号 31 | // 32 | // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值, 33 | // 方法是按如下所示使用“*”: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /Log4Grid.Appender/Log4Grid.Appender.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | x86 6 | 8.0.30703 7 | 2.0 8 | {D59A3882-FE9B-45D9-88E2-A7697876510B} 9 | Library 10 | Properties 11 | Log4Grid.Appender 12 | Log4Grid.Appender 13 | v4.0 14 | 15 | 16 | 512 17 | 18 | 19 | AnyCPU 20 | true 21 | full 22 | false 23 | ..\Bin\Log4NetAppender\ 24 | DEBUG;TRACE 25 | prompt 26 | 4 27 | 28 | 29 | x86 30 | pdbonly 31 | true 32 | ..\Bin\Log4NetAppender\ 33 | TRACE 34 | prompt 35 | 4 36 | 37 | 38 | 39 | 40 | 41 | 42 | False 43 | ..\..\OthreLib\log4net.dll 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | {77AC7897-D0A5-45C4-8CC8-17B33D820740} 60 | Log4Grid.Models 61 | 62 | 63 | 64 | 71 | -------------------------------------------------------------------------------- /Log4Grid.Appender/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // 有关程序集的常规信息通过以下 6 | // 特性集控制。更改这些特性值可修改 7 | // 与程序集关联的信息。 8 | [assembly: AssemblyTitle("Log4Grid.Appender")] 9 | [assembly: AssemblyDescription("email:henryfan@msn.com")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("www.ikende.com")] 12 | [assembly: AssemblyProduct("Log4Grid.Appender")] 13 | [assembly: AssemblyCopyright("Copyright © www.ikende.com 2014")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // 将 ComVisible 设置为 false 使此程序集中的类型 18 | // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型, 19 | // 则将该类型上的 ComVisible 特性设置为 true。 20 | [assembly: ComVisible(false)] 21 | 22 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID 23 | [assembly: Guid("3eb36c90-3294-4bad-8fbb-244c2dbc8ee5")] 24 | 25 | // 程序集的版本信息由下面四个值组成: 26 | // 27 | // 主版本 28 | // 次版本 29 | // 内部版本号 30 | // 修订号 31 | // 32 | // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值, 33 | // 方法是按如下所示使用“*”: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.1.0")] 36 | [assembly: AssemblyFileVersion("1.0.1.0")] 37 | -------------------------------------------------------------------------------- /Log4Grid.Config/InterfaceFactory.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Reflection; 6 | namespace Log4Grid.Config 7 | { 8 | public class InterfaceFactory 9 | { 10 | private Interfaces.IAppManagement mManagement; 11 | 12 | private Interfaces.ILogStoreHandler mStore; 13 | 14 | private Interfaces.ILogSearchHandler mSearch; 15 | 16 | private Interfaces.IUserManagement mUser; 17 | 18 | private Log4GridSection GetConfigSection(string sectionName) 19 | { 20 | Log4GridSection result = null; 21 | 22 | System.Configuration.ExeConfigurationFileMap fm = new System.Configuration.ExeConfigurationFileMap(); 23 | fm.ExeConfigFilename = AppDomain.CurrentDomain.BaseDirectory + "Log4Grid.config"; 24 | System.Configuration.Configuration mDomainConfig = System.Configuration.ConfigurationManager.OpenMappedExeConfiguration(fm, System.Configuration.ConfigurationUserLevel.None); 25 | result = (Log4GridSection)mDomainConfig.GetSection(sectionName); 26 | return result; 27 | } 28 | 29 | public InterfaceFactory() 30 | { 31 | LoadConfig(GetConfigSection(Log4GridSection.Log4GridSectionSectionName)); 32 | 33 | } 34 | 35 | public InterfaceFactory(string section) 36 | { 37 | LoadConfig(GetConfigSection(section)); 38 | } 39 | 40 | private void LoadConfig(Log4GridSection section) 41 | { 42 | mManagement = (Interfaces.IAppManagement)Activator.CreateInstance(Type.GetType(section.Management.Type)); 43 | LoadProperties(mManagement, section.Management.Properties); 44 | 45 | mStore = (Interfaces.ILogStoreHandler)Activator.CreateInstance(Type.GetType(section.LogStore.Type)); 46 | LoadProperties(mStore, section.LogStore.Properties); 47 | 48 | mSearch = (Interfaces.ILogSearchHandler)Activator.CreateInstance(Type.GetType(section.LogSearch.Type)); 49 | LoadProperties(mSearch, section.LogSearch.Properties); 50 | 51 | mUser = (Interfaces.IUserManagement)Activator.CreateInstance(Type.GetType(section.User.Type)); 52 | LoadProperties(mUser, section.User.Properties); 53 | } 54 | 55 | private void LoadProperties(object data, PropertyCollection properties) 56 | { 57 | foreach (Property item in properties) 58 | { 59 | PropertyInfo pi = data.GetType().GetProperty(item.Name, BindingFlags.Public | BindingFlags.Instance); 60 | if (pi != null && pi.CanWrite) 61 | { 62 | try 63 | { 64 | pi.SetValue(data, Convert.ChangeType(item.Value, pi.PropertyType), null); 65 | } 66 | catch (Exception e_) 67 | { 68 | 69 | } 70 | } 71 | } 72 | 73 | } 74 | 75 | public Interfaces.IUserManagement User 76 | { 77 | get 78 | { 79 | return mUser; 80 | } 81 | } 82 | 83 | public Interfaces.ILogSearchHandler Search 84 | { 85 | get 86 | { 87 | return mSearch; 88 | } 89 | } 90 | 91 | public Interfaces.ILogStoreHandler Store 92 | { 93 | get 94 | { 95 | return mStore; 96 | } 97 | } 98 | public Interfaces.IAppManagement Management 99 | { 100 | get 101 | { 102 | return mManagement; 103 | } 104 | } 105 | } 106 | } 107 | -------------------------------------------------------------------------------- /Log4Grid.Config/Log4Grid.Config.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | AnyCPU 6 | 8.0.30703 7 | 2.0 8 | {35604685-754A-49BE-B982-F37A39BF6965} 9 | Library 10 | Properties 11 | Log4Grid.Config 12 | Log4Grid.Config 13 | v4.0 14 | 512 15 | 16 | 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | pdbonly 27 | true 28 | bin\Release\ 29 | TRACE 30 | prompt 31 | 4 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | True 47 | True 48 | Log4GridSection.csd 49 | 50 | 51 | 52 | 53 | 54 | CsdFileGenerator 55 | Log4GridSection.csd.cs 56 | 57 | 58 | Log4GridSection.csd 59 | 60 | 61 | Log4GridSection.csd 62 | 63 | 64 | Log4GridSection.csd 65 | Designer 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | {BB987F99-5A87-46A6-8C55-C0DF116A792B} 74 | Log4Grid.Interfaces 75 | 76 | 77 | 78 | 85 | -------------------------------------------------------------------------------- /Log4Grid.Config/Log4GridSection.csd.config: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 12 | 13 | 14 | 15 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Log4Grid.Config/Log4GridSection.csd.xsd: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | The Management. 17 | 18 | 19 | 20 | 21 | The LogStore. 22 | 23 | 24 | 25 | 26 | The LogSearch. 27 | 28 | 29 | 30 | 31 | The User. 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | The Properties. 41 | 42 | 43 | 44 | 45 | 46 | The Name. 47 | 48 | 49 | 50 | 51 | The Type. 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | The Name. 61 | 62 | 63 | 64 | 65 | The Value. 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | The Property Configuration Element. 74 | 75 | 76 | 77 | 78 | 79 | -------------------------------------------------------------------------------- /Log4Grid.Config/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // 有关程序集的常规信息通过以下 6 | // 特性集控制。更改这些特性值可修改 7 | // 与程序集关联的信息。 8 | [assembly: AssemblyTitle("Log4Grid.Config")] 9 | [assembly: AssemblyDescription("email:henryfan@msn.com")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("www.ikende.com")] 12 | [assembly: AssemblyProduct("Log4Grid.Config")] 13 | [assembly: AssemblyCopyright("Copyright © www.ikende.com 2014")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // 将 ComVisible 设置为 false 使此程序集中的类型 18 | // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型, 19 | // 则将该类型上的 ComVisible 特性设置为 true。 20 | [assembly: ComVisible(false)] 21 | 22 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID 23 | [assembly: Guid("09412e68-2779-45d3-81fd-e5e3e6c732cb")] 24 | 25 | // 程序集的版本信息由下面四个值组成: 26 | // 27 | // 主版本 28 | // 次版本 29 | // 内部版本号 30 | // 修订号 31 | // 32 | // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值, 33 | // 方法是按如下所示使用“*”: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /Log4Grid.DBModels/Converts.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Log4Grid.DBModels 7 | { 8 | public class BoolToInt : Peanut.Mappings.PropertyCastAttribute 9 | { 10 | 11 | public override object ToProperty(object value, Type ptype, object source) 12 | { 13 | return (int)value > 0 ? true : false; 14 | } 15 | 16 | public override object ToColumn(object value, Type ptype, object source) 17 | { 18 | return (bool)value ? 1 : 0; 19 | } 20 | } 21 | 22 | public class EnumToInt : Peanut.Mappings.PropertyCastAttribute 23 | { 24 | public override object ToProperty(object value, Type ptype, object source) 25 | { 26 | return Enum.ToObject(ptype, (int)value); 27 | } 28 | 29 | public override object ToColumn(object value, Type ptype, object source) 30 | { 31 | return (int)value; 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Log4Grid.DBModels/DBModels.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Peanut.Mappings; 6 | namespace Log4Grid.DBModels 7 | { 8 | [Table("TBL_Application")] 9 | interface IDBApplication 10 | { 11 | [ID] 12 | [Peanut.Mappings.UID] 13 | string ID { get; set; } 14 | [Column] 15 | string Name { get; set; } 16 | [Column] 17 | string Remark { get; set; } 18 | } 19 | [Table("TBL_Host")] 20 | interface IDBHost 21 | { 22 | [ID] 23 | [Peanut.Mappings.UID] 24 | string ID { get; set; } 25 | [Column] 26 | string AppID { get; set; } 27 | [Column] 28 | string Name 29 | { 30 | get; 31 | set; 32 | } 33 | [Column] 34 | string CpuUsage 35 | { 36 | get; 37 | set; 38 | } 39 | [Column] 40 | string MemoryUsage 41 | { 42 | get; 43 | set; 44 | } 45 | [Column] 46 | DateTime LastActiveTime { get; set; } 47 | } 48 | [Table("TBL_Log")] 49 | interface IDBLog 50 | { 51 | [ID] 52 | [UID] 53 | string ID { get; set; } 54 | [Column] 55 | string Host 56 | { 57 | get; 58 | set; 59 | } 60 | [Column] 61 | string App 62 | { 63 | get; 64 | set; 65 | } 66 | [Column] 67 | DateTime CreateTime 68 | { 69 | get; 70 | set; 71 | } 72 | [Column("LogContent")] 73 | string Content 74 | { 75 | get; 76 | set; 77 | } 78 | [Column] 79 | [EnumToInt] 80 | Log4Grid.Models.LogType Type 81 | { 82 | get; 83 | set; 84 | } 85 | } 86 | [Table("TBL_User")] 87 | interface IDBUser 88 | { 89 | [ID] 90 | string Name { get; set; } 91 | [Column("User_PWD")] 92 | [StringCrypto("log4grid")] 93 | string Password { get; set; } 94 | [Column] 95 | string Email { get; set; } 96 | [Column] 97 | [BoolToInt] 98 | bool Enabled { get; set; } 99 | } 100 | 101 | } 102 | -------------------------------------------------------------------------------- /Log4Grid.DBModels/Log4Grid.DBModels.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | AnyCPU 6 | 8.0.30703 7 | 2.0 8 | {8056B682-9BAA-43E7-84B9-8861788A22EB} 9 | Library 10 | Properties 11 | Log4Grid.DBModels 12 | Log4Grid.DBModels 13 | v4.0 14 | 512 15 | 16 | 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | pdbonly 27 | true 28 | bin\Release\ 29 | TRACE 30 | prompt 31 | 4 32 | 33 | 34 | 35 | ..\Lib\Peanut.dll 36 | 37 | 38 | ..\Lib\protobuf-net.dll 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | Peanut 52 | DBModels.Model.cs 53 | 54 | 55 | True 56 | True 57 | DBModels.cs 58 | 59 | 60 | 61 | 62 | 63 | {77AC7897-D0A5-45C4-8CC8-17B33D820740} 64 | Log4Grid.Models 65 | 66 | 67 | 68 | 75 | -------------------------------------------------------------------------------- /Log4Grid.DBModels/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // 有关程序集的常规信息通过以下 6 | // 特性集控制。更改这些特性值可修改 7 | // 与程序集关联的信息。 8 | [assembly: AssemblyTitle("Log4Grid.DBModel")] 9 | [assembly: AssemblyDescription("email:henryfan@msn.com")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("www.ikende.com")] 12 | [assembly: AssemblyProduct("Log4Grid.DBModel")] 13 | [assembly: AssemblyCopyright("Copyright © www.ikende.com 2014")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // 将 ComVisible 设置为 false 使此程序集中的类型 18 | // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型, 19 | // 则将该类型上的 ComVisible 特性设置为 true。 20 | [assembly: ComVisible(false)] 21 | 22 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID 23 | [assembly: Guid("2537fdc4-2195-4f5b-b48f-4fc76e21ba2c")] 24 | 25 | // 程序集的版本信息由下面四个值组成: 26 | // 27 | // 主版本 28 | // 次版本 29 | // 内部版本号 30 | // 修订号 31 | // 32 | // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值, 33 | // 方法是按如下所示使用“*”: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /Log4Grid.DataAccess/Log4Grid.DataAccess.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | AnyCPU 6 | 8.0.30703 7 | 2.0 8 | {B17756D8-86C7-4F22-BFAF-6EB0E9D2913A} 9 | Library 10 | Properties 11 | Log4Grid.DataAccess 12 | Log4Grid.DataAccess 13 | v4.0 14 | 512 15 | 16 | 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | pdbonly 27 | true 28 | bin\Release\ 29 | TRACE 30 | prompt 31 | 4 32 | 33 | 34 | 35 | ..\Lib\Peanut.dll 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | {8056B682-9BAA-43E7-84B9-8861788A22EB} 55 | Log4Grid.DBModels 56 | 57 | 58 | {BB987F99-5A87-46A6-8C55-C0DF116A792B} 59 | Log4Grid.Interfaces 60 | 61 | 62 | {77AC7897-D0A5-45C4-8CC8-17B33D820740} 63 | Log4Grid.Models 64 | 65 | 66 | 67 | 74 | -------------------------------------------------------------------------------- /Log4Grid.DataAccess/LogSearchHandlerBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Peanut; 6 | using Log4Grid.DBModels; 7 | using System.Security.Cryptography; 8 | 9 | namespace Log4Grid.DataAccess 10 | { 11 | public abstract class LogSearchHandlerBase : Interfaces.ILogSearchHandler where T : IDriver, new() 12 | { 13 | public virtual DB DB 14 | { 15 | get 16 | { 17 | return Peanut.DB.DB103; 18 | } 19 | } 20 | private string mConnectionString; 21 | public string ConnectionString 22 | { 23 | get 24 | { 25 | return mConnectionString; 26 | 27 | } 28 | set 29 | { 30 | mConnectionString = value; 31 | DBContext.LoadEntityByAssembly(typeof(Log4Grid.DBModels.DBHost).Assembly); 32 | DBContext.SetConnectionDriver(DB); 33 | DBContext.SetConnectionString(DB, value); 34 | } 35 | } 36 | 37 | public string MD5Encoding(string rawPass) 38 | { 39 | 40 | MD5 md5 = MD5.Create(); 41 | byte[] bs = Encoding.UTF8.GetBytes(rawPass); 42 | byte[] hs = md5.ComputeHash(bs); 43 | StringBuilder sb = new StringBuilder(); 44 | foreach (byte b in hs) 45 | { 46 | sb.Append(b.ToString("x2")); 47 | } 48 | return sb.ToString(); 49 | } 50 | 51 | protected abstract bool Exists(string table); 52 | 53 | public IList List(string app, string host, Models.LogType? type, DateTime? from, DateTime? to, int pageindex, out int pages) 54 | { 55 | string name = "tbl_" + MD5Encoding(app); 56 | 57 | if (!Exists(name)) 58 | { 59 | pages = 0; 60 | return new List(); 61 | } 62 | using (DBContext.ChangeTable(name)) 63 | { 64 | Expression exp = new Expression(); 65 | if (type != null) 66 | exp &= DBLog.type == type.Value; 67 | if (from != null) 68 | exp &= DBLog.createTime >= from.Value; 69 | if (to != null) 70 | exp &= DBLog.createTime < to.Value; 71 | if (!string.IsNullOrEmpty(host)) 72 | exp &= DBLog.host == host; 73 | int count = exp.Count(DB); 74 | pages = count / 50; 75 | if ((pages % 50) > 0) 76 | pages++; 77 | return exp.List(DB, new Region(pageindex, 50), DBLog.createTime.Desc); 78 | 79 | } 80 | 81 | } 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /Log4Grid.DataAccess/LogStoreHandlerBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Peanut; 6 | using System.Security.Cryptography; 7 | using Log4Grid.DBModels; 8 | 9 | namespace Log4Grid.DataAccess 10 | { 11 | public abstract class LogStoreHandlerBase : Log4Grid.Interfaces.ILogStoreHandler where T:IDriver,new() 12 | { 13 | public virtual DB DB 14 | { 15 | get 16 | { 17 | return Peanut.DB.DB104; 18 | } 19 | } 20 | private string mConnectionString; 21 | public string ConnectionString 22 | { 23 | get 24 | { 25 | return mConnectionString; 26 | 27 | } 28 | set 29 | { 30 | mConnectionString = value; 31 | DBContext.LoadEntityByAssembly(typeof(Log4Grid.DBModels.DBHost).Assembly); 32 | DBContext.SetConnectionDriver(DB); 33 | DBContext.SetConnectionString(DB, value); 34 | } 35 | } 36 | protected abstract bool Exists(string table); 37 | protected abstract void OnCreateTable(string table); 38 | private static object mLockCreateTable = new object(); 39 | private void CreateTabel(string name) 40 | { 41 | 42 | lock (mLockCreateTable) 43 | { 44 | if (!Exists(name)) 45 | { 46 | OnCreateTable(name); 47 | } 48 | } 49 | } 50 | public string MD5Encoding(string rawPass) 51 | { 52 | 53 | MD5 md5 = MD5.Create(); 54 | byte[] bs = Encoding.UTF8.GetBytes(rawPass); 55 | byte[] hs = md5.ComputeHash(bs); 56 | StringBuilder sb = new StringBuilder(); 57 | foreach (byte b in hs) 58 | { 59 | sb.Append(b.ToString("x2")); 60 | } 61 | return sb.ToString(); 62 | } 63 | public void Add(Models.LogModel e) 64 | { 65 | string name = "tbl_" + MD5Encoding(e.App); 66 | CreateTabel(name); 67 | using (DBContext.ChangeTable(name)) 68 | { 69 | DBLog log = new DBLog(); 70 | log.App = e.App; 71 | log.Content = e.Content; 72 | log.CreateTime = e.CreateTime; 73 | log.Host = e.Host; 74 | log.Type = e.Type; 75 | log.Save(DB); 76 | } 77 | } 78 | public void Clean(string app, string host) 79 | { 80 | string name = "tbl_" + MD5Encoding(app); 81 | if (!Exists(name)) 82 | return; 83 | SQL sql = "delete from " + name + " where App=@p1"; 84 | sql = sql["p1", app]; 85 | if (!string.IsNullOrEmpty(host)) 86 | { 87 | sql += " and Host=@p2"; 88 | sql = sql["p2", host]; 89 | } 90 | sql.Execute(DB); 91 | 92 | } 93 | public void Backup(string app, string host) 94 | { 95 | 96 | } 97 | } 98 | } 99 | -------------------------------------------------------------------------------- /Log4Grid.DataAccess/ManagementBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Peanut; 6 | using Log4Grid.DBModels; 7 | 8 | namespace Log4Grid.DataAccess 9 | { 10 | public abstract class ManagementBase : Interfaces.IAppManagement where T:Peanut.IDriver,new() 11 | { 12 | public virtual DB DB 13 | { 14 | get 15 | { 16 | return Peanut.DB.DB101; 17 | } 18 | } 19 | 20 | private string mConnectionString; 21 | public string ConnectionString 22 | { 23 | get 24 | { 25 | return mConnectionString; 26 | 27 | } 28 | set 29 | { 30 | mConnectionString = value; 31 | DBContext.LoadEntityByAssembly(typeof(Log4Grid.DBModels.DBHost).Assembly); 32 | DBContext.SetConnectionDriver(DB); 33 | DBContext.SetConnectionString(DB, value); 34 | } 35 | } 36 | public virtual void Stat(Log4Grid.Models.StatModel e) 37 | { 38 | if ((DBApplication.name == e.App).Count(DB) == 0) 39 | { 40 | DBApplication app = new DBApplication(); 41 | app.Name = e.App; 42 | app.Save(DB); 43 | 44 | } 45 | DBHost host = (DBHost.appID == e.App & DBHost.name == e.Host).ListFirst(DB); 46 | if (host == null) 47 | { 48 | host = new DBHost(); 49 | host.Name = e.Host; 50 | host.AppID = e.App; 51 | 52 | } 53 | host.CpuUsage = e.CpuUsage; 54 | host.MemoryUsage = e.MemoryUsage; 55 | host.LastActiveTime = DateTime.Now; 56 | host.Save(DB); 57 | } 58 | public virtual IList ListApp() 59 | { 60 | IList result = new Expression().List(DB); 61 | foreach (Models.ApplicationData item in result) 62 | { 63 | item.Hosts = (DBHost.appID == item.Name).List(DB); 64 | foreach (Models.ApplicationHost host in item.Hosts) 65 | { 66 | host.Enabled = (DateTime.Now - host.LastActiveTime).TotalSeconds < 5; 67 | } 68 | } 69 | return result; 70 | } 71 | 72 | public virtual void CleanApp() 73 | { 74 | Expression exp = new Expression(); 75 | exp.Delete(DB); 76 | } 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /Log4Grid.DataAccess/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // 有关程序集的常规信息通过以下 6 | // 特性集控制。更改这些特性值可修改 7 | // 与程序集关联的信息。 8 | [assembly: AssemblyTitle("Log4Grid.DataAccess")] 9 | [assembly: AssemblyDescription("email:henryfan@msn.com")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("www.ikende.com")] 12 | [assembly: AssemblyProduct("Log4Grid.DataAccess")] 13 | [assembly: AssemblyCopyright("Copyright © www.ikende.com 2014")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // 将 ComVisible 设置为 false 使此程序集中的类型 18 | // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型, 19 | // 则将该类型上的 ComVisible 特性设置为 true。 20 | [assembly: ComVisible(false)] 21 | 22 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID 23 | [assembly: Guid("d0739cef-1822-40af-acb1-96096511678c")] 24 | 25 | // 程序集的版本信息由下面四个值组成: 26 | // 27 | // 主版本 28 | // 次版本 29 | // 内部版本号 30 | // 修订号 31 | // 32 | // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值, 33 | // 方法是按如下所示使用“*”: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /Log4Grid.DataAccess/UserHandlerBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Peanut; 6 | using Log4Grid.DBModels; 7 | 8 | namespace Log4Grid.DataAccess 9 | { 10 | public abstract class UserHandlerBase : Interfaces.IUserManagement where T : Peanut.IDriver, new() 11 | { 12 | public virtual DB DB 13 | { 14 | get 15 | { 16 | return Peanut.DB.DB102; 17 | } 18 | } 19 | 20 | private string mConnectionString; 21 | public string ConnectionString 22 | { 23 | get 24 | { 25 | return mConnectionString; 26 | 27 | } 28 | set 29 | { 30 | mConnectionString = value; 31 | DBContext.LoadEntityByAssembly(typeof(Log4Grid.DBModels.DBHost).Assembly); 32 | DBContext.SetConnectionDriver(DB); 33 | DBContext.SetConnectionString(DB, value); 34 | } 35 | } 36 | 37 | public Models.User Login(string name, string password) 38 | { 39 | Models.User user = (DBUser.name == name).ListFirst(DB); 40 | if (user != null && user.Password == password && user.Enabled) 41 | return user; 42 | return null; 43 | } 44 | 45 | public Models.User Create(string name, string paasword, string email, bool enabled) 46 | { 47 | if ((DBUser.name == name).Count(DB) > 0) 48 | return null; 49 | DBUser user = new DBUser(); 50 | user.Name = name; 51 | user.Password = paasword; 52 | user.Email = email; 53 | user.Enabled = enabled; 54 | user.Save(DB); 55 | return user.MemberCopyTo(); 56 | } 57 | 58 | public void Enabled(string name, bool enabled) 59 | { 60 | (DBUser.name == name).Edit(DB, d => { d.Enabled = enabled; }); 61 | } 62 | 63 | public void ChangePassword(string name, string newpassword) 64 | { 65 | (DBUser.name == name).Edit(DB, d => { d.Password = newpassword; }); 66 | 67 | } 68 | 69 | public Models.User Exists(string name) 70 | { 71 | return (DBUser.name == name).ListFirst(DB); 72 | } 73 | 74 | 75 | public IList List() 76 | { 77 | return new Expression().List(DB); 78 | } 79 | 80 | public void Delete(string name) 81 | { 82 | (DBUser.name == name).Delete(DB); 83 | } 84 | } 85 | } 86 | 87 | -------------------------------------------------------------------------------- /Log4Grid.Interfaces/IAppManagement.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Log4Grid.Interfaces 7 | { 8 | public interface IAppManagement 9 | { 10 | void Stat(Models.StatModel e); 11 | IList ListApp(); 12 | void CleanApp(); 13 | 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Log4Grid.Interfaces/ILogSearchHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Log4Grid.Interfaces 7 | { 8 | public interface ILogSearchHandler 9 | { 10 | IList List(string app, string host, Models.LogType? type, DateTime? from, DateTime? to, int pageindex, out int pages); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Log4Grid.Interfaces/ILogStoreHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Log4Grid.Interfaces 7 | { 8 | public interface ILogStoreHandler 9 | { 10 | void Add(Models.LogModel e); 11 | void Clean(string app,string host); 12 | void Backup(string app,string host); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Log4Grid.Interfaces/IUserManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Log4Grid.Interfaces 7 | { 8 | public interface IUserManagement 9 | { 10 | Models.User Login(string name, string password); 11 | Models.User Create(string name, string paasword, string email, bool enabled); 12 | void Enabled(string name, bool enabled); 13 | void ChangePassword(string name, string newpassword); 14 | Models.User Exists(string name); 15 | IList List(); 16 | void Delete(string name); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Log4Grid.Interfaces/Log4Grid.Interfaces.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | AnyCPU 6 | 8.0.30703 7 | 2.0 8 | {BB987F99-5A87-46A6-8C55-C0DF116A792B} 9 | Library 10 | Properties 11 | Log4Grid.Interfaces 12 | Log4Grid.Interfaces 13 | v4.0 14 | 512 15 | 16 | 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | pdbonly 27 | true 28 | bin\Release\ 29 | TRACE 30 | prompt 31 | 4 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | {77AC7897-D0A5-45C4-8CC8-17B33D820740} 52 | Log4Grid.Models 53 | 54 | 55 | 56 | 63 | -------------------------------------------------------------------------------- /Log4Grid.Interfaces/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // 有关程序集的常规信息通过以下 6 | // 特性集控制。更改这些特性值可修改 7 | // 与程序集关联的信息。 8 | [assembly: AssemblyTitle("Log4Grid.Interfaces")] 9 | [assembly: AssemblyDescription("email:henryfan@msn.com")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("www.ikende.com")] 12 | [assembly: AssemblyProduct("Log4Grid.Interfaces")] 13 | [assembly: AssemblyCopyright("Copyright © www.ikende.com 2014")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // 将 ComVisible 设置为 false 使此程序集中的类型 18 | // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型, 19 | // 则将该类型上的 ComVisible 特性设置为 true。 20 | [assembly: ComVisible(false)] 21 | 22 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID 23 | [assembly: Guid("53b75a78-8074-4b74-9e9a-e5c5640f166c")] 24 | 25 | // 程序集的版本信息由下面四个值组成: 26 | // 27 | // 主版本 28 | // 次版本 29 | // 内部版本号 30 | // 修订号 31 | // 32 | // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值, 33 | // 方法是按如下所示使用“*”: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /Log4Grid.MSSQL/Log4Grid.MSSQL.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | AnyCPU 6 | 8.0.30703 7 | 2.0 8 | {5C34589F-85C3-4C32-BBF5-EA93E4AF0829} 9 | Library 10 | Properties 11 | Log4Grid.MSSQL 12 | Log4Grid.MSSQL 13 | v4.0 14 | 512 15 | 16 | 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | pdbonly 27 | true 28 | bin\Release\ 29 | TRACE 30 | prompt 31 | 4 32 | 33 | 34 | 35 | ..\Lib\Peanut.dll 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | {B17756D8-86C7-4F22-BFAF-6EB0E9D2913A} 55 | Log4Grid.DataAccess 56 | 57 | 58 | {8056B682-9BAA-43E7-84B9-8861788A22EB} 59 | Log4Grid.DBModels 60 | 61 | 62 | {BB987F99-5A87-46A6-8C55-C0DF116A792B} 63 | Log4Grid.Interfaces 64 | 65 | 66 | {77AC7897-D0A5-45C4-8CC8-17B33D820740} 67 | Log4Grid.Models 68 | 69 | 70 | 71 | 72 | 73 | 74 | 81 | -------------------------------------------------------------------------------- /Log4Grid.MSSQL/Log4Grid.MSSQL.csproj.user: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ProjectFiles 5 | 6 | -------------------------------------------------------------------------------- /Log4Grid.MSSQL/LogSearchHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Peanut; 6 | namespace Log4Grid.MSSQL 7 | { 8 | public class LogSearch4MSSQL:Log4Grid.DataAccess.LogSearchHandlerBase 9 | { 10 | protected override bool Exists(string table) 11 | { 12 | SQL sql = "SELECT count(*) FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[" + table + "]') AND type in (N'U')"; 13 | return sql.GetValue(DB) > 0; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Log4Grid.MSSQL/LogStoreHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Peanut; 6 | using System.Security.Cryptography; 7 | 8 | namespace Log4Grid.MSSQL 9 | { 10 | public class LogStore4MSSQL : Log4Grid.DataAccess.LogStoreHandlerBase 11 | { 12 | protected override bool Exists(string table) 13 | { 14 | 15 | SQL sql = "SELECT count(*) FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[" + table + "]') AND type in (N'U')"; 16 | return sql.GetValue(DB) > 0; 17 | } 18 | 19 | protected override void OnCreateTable(string table) 20 | { 21 | 22 | SQL sql = string.Format(@"CREATE TABLE [dbo].[{0}]( 23 | [ID] [varchar](50) NOT NULL, 24 | [Host] [varchar](200) NULL, 25 | [App] [varchar](200) NULL, 26 | [CreateTime] [datetime] NULL, 27 | [LogContent] [varchar](1000) NULL, 28 | [Type] [int] NULL, 29 | CONSTRAINT [PK_{0}] PRIMARY KEY CLUSTERED 30 | ( 31 | [ID] ASC 32 | )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 33 | ) ON [PRIMARY]; 34 | CREATE NONCLUSTERED INDEX [IX_{0}_CreateTime] ON [dbo].[TBL_Log] 35 | ( 36 | [CreateTime] DESC 37 | )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 38 | ;", table); 39 | 40 | sql.Execute(DB); 41 | 42 | 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /Log4Grid.MSSQL/Management.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Peanut; 6 | namespace Log4Grid.MSSQL 7 | { 8 | public class Management4MSSQL : Log4Grid.DataAccess.ManagementBase 9 | { 10 | 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Log4Grid.MSSQL/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // 有关程序集的常规信息通过以下 6 | // 特性集控制。更改这些特性值可修改 7 | // 与程序集关联的信息。 8 | [assembly: AssemblyTitle("Log4Grid.MSSQL")] 9 | [assembly: AssemblyDescription("email:henryfan@msn.com")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("www.ikende.com")] 12 | [assembly: AssemblyProduct("Log4Grid.MSSQL")] 13 | [assembly: AssemblyCopyright("Copyright © www.ikende.com 2014")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // 将 ComVisible 设置为 false 使此程序集中的类型 18 | // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型, 19 | // 则将该类型上的 ComVisible 特性设置为 true。 20 | [assembly: ComVisible(false)] 21 | 22 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID 23 | [assembly: Guid("988bc066-9288-44c7-a0c1-ea9815a7b1d8")] 24 | 25 | // 程序集的版本信息由下面四个值组成: 26 | // 27 | // 主版本 28 | // 次版本 29 | // 内部版本号 30 | // 修订号 31 | // 32 | // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值, 33 | // 方法是按如下所示使用“*”: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /Log4Grid.MSSQL/UserHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Peanut; 6 | 7 | namespace Log4Grid.MSSQL 8 | { 9 | public class User4MSSQL : Log4Grid.DataAccess.UserHandlerBase 10 | { 11 | 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Log4Grid.MSSQL/log4grid.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/Log4Grid.MSSQL/log4grid.sql -------------------------------------------------------------------------------- /Log4Grid.Management.Web/App_Start/FilterConfig.cs: -------------------------------------------------------------------------------- 1 | using System.Web; 2 | using System.Web.Mvc; 3 | 4 | namespace Log4Grid.Management.Web 5 | { 6 | public class FilterConfig 7 | { 8 | public static void RegisterGlobalFilters(GlobalFilterCollection filters) 9 | { 10 | filters.Add(new HandleErrorAttribute()); 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /Log4Grid.Management.Web/App_Start/RouteConfig.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web; 5 | using System.Web.Mvc; 6 | using System.Web.Routing; 7 | 8 | namespace Log4Grid.Management.Web 9 | { 10 | public class RouteConfig 11 | { 12 | public static void RegisterRoutes(RouteCollection routes) 13 | { 14 | routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 15 | routes.MapRoute( 16 | name: "Users", 17 | url: "Users", 18 | defaults: new { controller = "Home", action = "Users", id = UrlParameter.Optional } 19 | ); 20 | 21 | routes.MapRoute( 22 | name: "CreateUser", 23 | url: "CreateUser", 24 | defaults: new { controller = "Home", action = "CreateUser", id = UrlParameter.Optional } 25 | ); 26 | routes.MapRoute( 27 | name: "SingOut", 28 | url: "SingOut", 29 | defaults: new { controller = "Home", action = "SingOut", id = UrlParameter.Optional } 30 | ); 31 | routes.MapRoute( 32 | name: "Singin", 33 | url: "Singin", 34 | defaults: new { controller = "Home", action = "Login", id = UrlParameter.Optional } 35 | ); 36 | routes.MapRoute( 37 | name: "Default", 38 | url: "{controller}/{action}/{id}", 39 | defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 40 | ); 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /Log4Grid.Management.Web/App_Start/WebApiConfig.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web.Http; 5 | 6 | namespace Log4Grid.Management.Web 7 | { 8 | public static class WebApiConfig 9 | { 10 | public static void Register(HttpConfiguration config) 11 | { 12 | config.Routes.MapHttpRoute( 13 | name: "DefaultApi", 14 | routeTemplate: "api/{controller}/{id}", 15 | defaults: new { id = RouteParameter.Optional } 16 | ); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Codes/Utils.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web; 5 | using System.Web.Security; 6 | using Log4Grid.Models; 7 | namespace Log4Grid.Management.Web.Codes 8 | { 9 | public class Utils 10 | { 11 | private static Config.InterfaceFactory mFactory = new Config.InterfaceFactory(); 12 | public static User User 13 | { 14 | get 15 | { 16 | System.Collections.IDictionary dict = HttpContext.Current.Items; 17 | if (dict["_ISLOAD_USER"] == null) 18 | { 19 | HttpCookie loginer = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName]; 20 | if (loginer != null && loginer.Value != null) 21 | { 22 | FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(loginer.Value); 23 | string userid = ticket.Name; 24 | User user = mFactory.User.Exists(userid); 25 | dict["_LOGINER"] = user; 26 | } 27 | dict["_ISLOAD_USER"] = true; 28 | } 29 | return (User)dict["_LOGINER"]; 30 | } 31 | 32 | } 33 | public static void SetLogin(string name) 34 | { 35 | FormsAuthentication.SetAuthCookie(name, true); 36 | FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(name, false, 120); 37 | string encTicket = FormsAuthentication.Encrypt(ticket); 38 | HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket); 39 | HttpContext.Current.Response.Cookies.Add(cookie); 40 | } 41 | public static void Signout() 42 | { 43 | if (HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName] != null) 44 | { 45 | HttpCookie myCookie = new HttpCookie(FormsAuthentication.FormsCookieName); 46 | myCookie.Expires = DateTime.Now.AddDays(-1d); 47 | HttpContext.Current.Response.Cookies.Add(myCookie); 48 | } 49 | } 50 | 51 | private static Dictionary mClass; 52 | 53 | private static object mLockClass = new object(); 54 | 55 | public static Dictionary Class 56 | { 57 | get 58 | { 59 | lock (mLockClass) 60 | { 61 | if (mClass == null) 62 | { 63 | mClass = new Dictionary(); 64 | mClass.Add(LogType.Error, "danger"); 65 | mClass.Add(LogType.Warn, "warning"); 66 | mClass.Add(LogType.Debug, "info"); 67 | } 68 | return mClass; 69 | } 70 | } 71 | } 72 | 73 | public static string GetRowClass(Log4Grid.Models.LogType type) 74 | { 75 | string value = null; 76 | if (!Class.TryGetValue(type, out value)) 77 | { 78 | value = "active"; 79 | } 80 | return value; 81 | 82 | } 83 | } 84 | } -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Controllers/Filters/AjaxSuccess.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web; 5 | using System.Web.Mvc; 6 | 7 | namespace Log4Grid.Management.Web.Controllers.Filters 8 | { 9 | [AttributeUsage(AttributeTargets.Method | AttributeTargets.Class)] 10 | public class AjaxSuccess : System.Web.Mvc.ActionFilterAttribute 11 | { 12 | public override void OnActionExecuting(ActionExecutingContext filterContext) 13 | { 14 | 15 | base.OnActionExecuting(filterContext); 16 | 17 | } 18 | public override void OnActionExecuted(ActionExecutedContext filterContext) 19 | { 20 | ContentResult result = new ContentResult(); 21 | result.Content = "success"; 22 | if (filterContext.Exception != null) 23 | { 24 | result.Content = filterContext.Exception.Message; 25 | filterContext.ExceptionHandled = true; 26 | } 27 | 28 | filterContext.Result = result; 29 | base.OnActionExecuted(filterContext); 30 | 31 | } 32 | } 33 | 34 | } -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Controllers/Filters/LoginAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web; 5 | using System.Web.Mvc; 6 | 7 | namespace Log4Grid.Management.Web.Controllers.Filters 8 | { 9 | [AttributeUsage(AttributeTargets.Method | AttributeTargets.Class)] 10 | public class LoginAttribute : System.Web.Mvc.ActionFilterAttribute 11 | { 12 | public override void OnActionExecuting(ActionExecutingContext filterContext) 13 | { 14 | if (Codes.Utils.User != null) 15 | { 16 | base.OnActionExecuting(filterContext); 17 | } 18 | else 19 | { 20 | filterContext.Result = new RedirectResult("/Singin"); 21 | } 22 | 23 | } 24 | 25 | } 26 | } -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Css/bootstrap-dialog.min.css: -------------------------------------------------------------------------------- 1 | .bootstrap-dialog .modal-header{border-top-left-radius:4px;border-top-right-radius:4px}.bootstrap-dialog .bootstrap-dialog-title{color:#fff;display:inline-block}.bootstrap-dialog.type-default .bootstrap-dialog-title{color:#333}.bootstrap-dialog.size-normal .bootstrap-dialog-title{font-size:16px}.bootstrap-dialog.size-large .bootstrap-dialog-title{font-size:24px}.bootstrap-dialog .bootstrap-dialog-close-button{float:right;filter:alpha(opacity=90);-moz-opacity:.9;-khtml-opacity:.9;opacity:.9}.bootstrap-dialog.size-normal .bootstrap-dialog-close-button{font-size:20px}.bootstrap-dialog.size-large .bootstrap-dialog-close-button{font-size:30px}.bootstrap-dialog .bootstrap-dialog-close-button:hover{cursor:pointer;filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1}.bootstrap-dialog.size-normal .bootstrap-dialog-message{font-size:14px}.bootstrap-dialog.size-large .bootstrap-dialog-message{font-size:18px}.bootstrap-dialog.type-default .modal-header{background-color:#fff}.bootstrap-dialog.type-info .modal-header{background-color:#5bc0de}.bootstrap-dialog.type-primary .modal-header{background-color:#428bca}.bootstrap-dialog.type-success .modal-header{background-color:#5cb85c}.bootstrap-dialog.type-warning .modal-header{background-color:#f0ad4e}.bootstrap-dialog.type-danger .modal-header{background-color:#d9534f}.bootstrap-dialog .bootstrap-dialog-button-icon{margin-right:3px}.icon-spin{display:inline-block;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0{-moz-transform:rotate(0)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0{-o-transform:rotate(0)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0{-ms-transform:rotate(0)}100%{-ms-transform:rotate(359deg)}}@keyframes spin{0{transform:rotate(0)}100%{transform:rotate(359deg)}} -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Css/website.css: -------------------------------------------------------------------------------- 1 | body 2 | { 3 | margin: 0px; 4 | padding: 90px 0px 0px 0px; 5 | font-family: 微软雅黑; 6 | 7 | 8 | } 9 | a 10 | { 11 | text-decoration: none; 12 | font-weight: normal; 13 | } 14 | a:hover 15 | { 16 | color: #666666; 17 | text-decoration: none; 18 | } 19 | .title-icon 20 | { 21 | background-position: 0px 0px; 22 | background-size: 64px 64px; 23 | background-image: url('../Images/log4grid-icon.png'); 24 | background-repeat: no-repeat; 25 | margin-top: 2px; 26 | padding-top: 16px; 27 | padding-bottom:12px; 28 | padding-left: 70px; 29 | font-size: 22pt; 30 | font-weight: bold; 31 | } 32 | #body_wrapper 33 | { 34 | width:1000px; 35 | margin:auto; 36 | min-height:600px; 37 | } 38 | .host 39 | { 40 | background-image: url('../Images/server.png'); 41 | background-repeat: no-repeat; 42 | background-position: 0px 2px; 43 | display: inline-block; 44 | padding-left: 20px; 45 | padding-top: 4px; 46 | padding-bottom: 4px; 47 | margin-left: 20px; 48 | text-align: left; 49 | margin-top: 4px; 50 | width: 180px; 51 | margin-bottom: 4px; 52 | } 53 | .app 54 | { 55 | background-image: url('../Images/application.png'); 56 | background-repeat: no-repeat; 57 | background-position: 0px 2px; 58 | display: inline-block; 59 | padding-left: 30px; 60 | padding-top: 8px; 61 | padding-bottom: 8px; 62 | text-align: left; 63 | margin-top: 4px; 64 | width: 200px; 65 | margin-bottom: 4px; 66 | color: #FFFFFF; 67 | } 68 | #lst-app 69 | { 70 | 71 | width: 250px; 72 | float: left; 73 | 74 | cursor: pointer; 75 | 76 | } 77 | #lst-log 78 | { 79 | width:720px; 80 | float:right; 81 | } 82 | .panel-body ul 83 | { 84 | list-style-type: none; 85 | margin:0px; 86 | padding-left:0px; 87 | } 88 | .panel-body li 89 | { 90 | list-style-type: none; 91 | margin:0px; 92 | padding-left:0px; 93 | } 94 | #templatemo_copyright 95 | { 96 | text-align:center; 97 | padding:10px; 98 | } -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Global.asax: -------------------------------------------------------------------------------- 1 | <%@ Application Codebehind="Global.asax.cs" Inherits="Log4Grid.Management.Web.MvcApplication" Language="C#" %> 2 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Global.asax.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web; 5 | using System.Web.Http; 6 | using System.Web.Mvc; 7 | using System.Web.Routing; 8 | 9 | namespace Log4Grid.Management.Web 10 | { 11 | // Note: For instructions on enabling IIS6 or IIS7 classic mode, 12 | // visit http://go.microsoft.com/?LinkId=9394801 13 | public class MvcApplication : System.Web.HttpApplication 14 | { 15 | protected void Application_Start() 16 | { 17 | AreaRegistration.RegisterAllAreas(); 18 | 19 | WebApiConfig.Register(GlobalConfiguration.Configuration); 20 | FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); 21 | RouteConfig.RegisterRoutes(RouteTable.Routes); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Images/app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/Log4Grid.Management.Web/Images/app.png -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Images/application.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/Log4Grid.Management.Web/Images/application.png -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/Log4Grid.Management.Web/Images/icon.png -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Images/log4grid-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/Log4Grid.Management.Web/Images/log4grid-icon.png -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Images/server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/Log4Grid.Management.Web/Images/server.png -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Log4Grid.Management.Web.csproj.user: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ProjectFiles 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | SpecificPage 13 | True 14 | False 15 | False 16 | False 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | False 26 | True 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Log4Grid.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Models/HomeLogList.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web; 5 | 6 | namespace Log4Grid.Management.Web.Models 7 | { 8 | public class HomeLogList 9 | { 10 | public IList Logs 11 | { 12 | get; 13 | set; 14 | } 15 | public int PageIndex 16 | { 17 | get; 18 | set; 19 | } 20 | public int Pages 21 | { 22 | get; 23 | set; 24 | } 25 | 26 | } 27 | } -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Models/HomeUsers.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web; 5 | 6 | namespace Log4Grid.Management.Web.Models 7 | { 8 | public class HomeUsers 9 | { 10 | public HomeUsers() 11 | { 12 | Users = new List(); 13 | } 14 | public IList Users 15 | { 16 | get; 17 | set; 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Models/IndexView.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web; 5 | 6 | namespace Log4Grid.Management.Web.Models 7 | { 8 | public class IndexView 9 | { 10 | public IList Apps 11 | { 12 | get; 13 | set; 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Log4Grid.Management.Web")] 9 | [assembly: AssemblyDescription("email:henryfan@msn.com")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("www.ikende.com")] 12 | [assembly: AssemblyProduct("Log4Grid.Management.Web")] 13 | [assembly: AssemblyCopyright("Copyright © www.ikende.com 2014")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("347c5fac-dcdc-4408-ac82-116774191945")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Revision and Build Numbers 33 | // by using the '*' as shown below: 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Views/Controls/Pagebar.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | int pageindex = (int)PageData["pageindex"]; 3 | int pagecount = (int)PageData["pagecount"]; 4 | 5 | } 6 | 7 | 8 | @if (pageindex > 0) 9 | { 10 | Previous 11 | } 12 | @for (int i = pageindex-5; i= 0) 15 | { 16 | 17 | @Html.Raw(i + 1) 18 | } 19 | 20 | } 21 | 22 | 23 | @Html.Raw(pageindex + 1) 24 | 25 | @for (int i = pageindex+1; (i < pageindex+6 && i@Html.Raw(i + 1) 29 | 30 | } 31 | 32 | @if (pagecount>1 && pageindex != pagecount - 1) 33 | { 34 | 35 | Next 36 | 37 | } 38 | @Html.Raw(pageindex + 1) / @pagecount 39 | 40 | 41 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Views/Default.cshtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Log4Grid Distributed Application Log Management 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | @RenderSection("head", required: false) 17 | 18 | 19 | 20 | 21 | 22 | Log4Grid 23 | Distributed Application Log Management 24 | 25 | 26 | @if (Log4Grid.Management.Web.Codes.Utils.User != null) 27 | { 28 | sign out 29 | } 30 | 31 | 32 | 33 | 34 | 35 | 36 | @RenderBody() 37 | 38 | 39 | 40 | Copyright © 2014 www.ikende.com email:henryfan@msn.com 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Views/Home/CreateUser.cshtml: -------------------------------------------------------------------------------- 1 | @model System.String 2 | 3 | 4 | 5 | 6 | 7 | 8 | Create User 9 | 10 | @Model 11 | 12 | 13 | 14 | UserName 15 | 16 | 17 | 18 | 19 | PassWord 20 | 21 | 22 | 23 | 24 | 25 | Confirm 26 | 27 | 28 | 29 | 30 | 31 | Users 32 | Create 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Views/Home/LogList.cshtml: -------------------------------------------------------------------------------- 1 | @model Log4Grid.Management.Web.Models.HomeLogList 2 | @{ 3 | Layout = null; 4 | } 5 | 6 | @RenderPage("~/views/controls/pagebar.cshtml", new { pageindex = Model.PageIndex, pagecount = Model.Pages, baseurl = "/questions/" }) 7 | 8 | 9 | 10 | 11 | Type 12 | 13 | 14 | CreateTime 15 | 16 | 17 | Message 18 | 19 | 20 | Host 21 | 22 | 23 | 24 | 25 | @foreach (Log4Grid.Models.LogModel item in Model.Logs) 26 | { 27 | 28 | 29 | @item.Type 30 | 31 | 32 | 33 | @item.CreateTime 34 | 35 | 36 | @item.Content 37 | 38 | 39 | @item.Host 40 | 41 | 42 | } 43 | 44 | 45 | @RenderPage("~/views/controls/pagebar.cshtml", new { pageindex = Model.PageIndex, pagecount = Model.Pages, baseurl = "/questions/" }) 46 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Views/Home/Login.cshtml: -------------------------------------------------------------------------------- 1 | @model String 2 | 3 | 4 | 5 | 6 | 7 | 8 | Login 9 | 10 | @Model 11 | 12 | 13 | 14 | UserName 15 | 16 | 17 | 18 | 19 | PassWord 20 | 21 | 22 | 23 | 24 | 25 | login 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Views/Home/Users.cshtml: -------------------------------------------------------------------------------- 1 | @model Log4Grid.Management.Web.Models.HomeUsers 2 | 3 | 4 | Users 5 | 6 | 7 | 8 | 9 | 10 | Create 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | UserName 21 | 22 | 23 | Password 24 | 25 | 26 | 27 | 28 | 29 | 30 | @foreach (Log4Grid.Models.User item in Model.Users) 31 | { 32 | 33 | 34 | @item.Name 35 | 36 | 37 | @item.Password 38 | 39 | 40 | Delete 41 | 42 | 43 | } 44 | 45 | 46 | 47 | 48 | 49 | 77 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Views/Web.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 39 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "~/views/default.cshtml"; 3 | } 4 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Web.Debug.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 17 | 18 | 29 | 30 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Web.Release.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 17 | 18 | 19 | 30 | 31 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/Web.config: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.ar.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Arabic translation for bootstrap-datepicker 3 | * Mohammed Alshehri 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ar'] = { 7 | days: ["الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت", "الأحد"], 8 | daysShort: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت", "أحد"], 9 | daysMin: ["ح", "ن", "ث", "ع", "خ", "ج", "س", "ح"], 10 | months: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], 11 | monthsShort: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], 12 | today: "هذا اليوم", 13 | rtl: true 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.az.js: -------------------------------------------------------------------------------- 1 | // Azerbaijani 2 | ;(function($){ 3 | $.fn.datepicker.dates['az'] = { 4 | days: ["Bazar", "Bazar ertəsi", "Çərşənbə axşamı", "Çərşənbə", "Cümə axşamı", "Cümə", "Şənbə", "Bazar"], 5 | daysShort: ["B.", "B.e", "Ç.a", "Ç.", "C.a", "C.", "Ş.", "B."], 6 | daysMin: ["B.", "B.e", "Ç.a", "Ç.", "C.a", "C.", "Ş.", "B."], 7 | months: ["Yanvar", "Fevral", "Mart", "Aprel", "May", "İyun", "İyul", "Avqust", "Sentyabr", "Oktyabr", "Noyabr", "Dekabr"], 8 | monthsShort: ["Yan", "Fev", "Mar", "Apr", "May", "İyun", "İyul", "Avq", "Sen", "Okt", "Noy", "Dek"], 9 | today: "Bu gün", 10 | weekStart: 1 11 | }; 12 | }(jQuery)); 13 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.bg.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Bulgarian translation for bootstrap-datepicker 3 | * Apostol Apostolov 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['bg'] = { 7 | days: ["Неделя", "Понеделник", "Вторник", "Сряда", "Четвъртък", "Петък", "Събота", "Неделя"], 8 | daysShort: ["Нед", "Пон", "Вто", "Сря", "Чет", "Пет", "Съб", "Нед"], 9 | daysMin: ["Н", "П", "В", "С", "Ч", "П", "С", "Н"], 10 | months: ["Януари", "Февруари", "Март", "Април", "Май", "Юни", "Юли", "Август", "Септември", "Октомври", "Ноември", "Декември"], 11 | monthsShort: ["Ян", "Фев", "Мар", "Апр", "Май", "Юни", "Юли", "Авг", "Сеп", "Окт", "Ное", "Дек"], 12 | today: "днес" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.ca.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Catalan translation for bootstrap-datepicker 3 | * J. Garcia 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ca'] = { 7 | days: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte", "Diumenge"], 8 | daysShort: ["Diu", "Dil", "Dmt", "Dmc", "Dij", "Div", "Dis", "Diu"], 9 | daysMin: ["dg", "dl", "dt", "dc", "dj", "dv", "ds", "dg"], 10 | months: ["Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"], 11 | monthsShort: ["Gen", "Feb", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Oct", "Nov", "Des"], 12 | today: "Avui" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.cs.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Czech translation for bootstrap-datepicker 3 | * Matěj Koubík 4 | * Fixes by Michal Remiš 5 | */ 6 | ;(function($){ 7 | $.fn.datepicker.dates['cs'] = { 8 | days: ["Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota", "Neděle"], 9 | daysShort: ["Ned", "Pon", "Úte", "Stř", "Čtv", "Pát", "Sob", "Ned"], 10 | daysMin: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So", "Ne"], 11 | months: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"], 12 | monthsShort: ["Led", "Úno", "Bře", "Dub", "Kvě", "Čer", "Čnc", "Srp", "Zář", "Říj", "Lis", "Pro"], 13 | today: "Dnes" 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.cy.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Welsh translation for bootstrap-datepicker 3 | * S. Morris 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['cy'] = { 7 | days: ["Sul", "Llun", "Mawrth", "Mercher", "Iau", "Gwener", "Sadwrn", "Sul"], 8 | daysShort: ["Sul", "Llu", "Maw", "Mer", "Iau", "Gwe", "Sad", "Sul"], 9 | daysMin: ["Su", "Ll", "Ma", "Me", "Ia", "Gwe", "Sa", "Su"], 10 | months: ["Ionawr", "Chewfror", "Mawrth", "Ebrill", "Mai", "Mehefin", "Gorfennaf", "Awst", "Medi", "Hydref", "Tachwedd", "Rhagfyr"], 11 | monthsShort: ["Ion", "Chw", "Maw", "Ebr", "Mai", "Meh", "Gor", "Aws", "Med", "Hyd", "Tach", "Rha"], 12 | today: "Heddiw" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.da.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Danish translation for bootstrap-datepicker 3 | * Christian Pedersen 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['da'] = { 7 | days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"], 8 | daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"], 9 | daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"], 10 | months: ["Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], 12 | today: "I Dag", 13 | clear: "Nulstil" 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.de.js: -------------------------------------------------------------------------------- 1 | /** 2 | * German translation for bootstrap-datepicker 3 | * Sam Zurcher 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['de'] = { 7 | days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"], 8 | daysShort: ["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam", "Son"], 9 | daysMin: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"], 10 | months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], 11 | monthsShort: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"], 12 | today: "Heute", 13 | clear: "Löschen", 14 | weekStart: 1, 15 | format: "dd.mm.yyyy" 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.el.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Greek translation for bootstrap-datepicker 3 | */ 4 | ;(function($){ 5 | $.fn.datepicker.dates['el'] = { 6 | days: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο", "Κυριακή"], 7 | daysShort: ["Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ", "Κυρ"], 8 | daysMin: ["Κυ", "Δε", "Τρ", "Τε", "Πε", "Πα", "Σα", "Κυ"], 9 | months: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάιος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"], 10 | monthsShort: ["Ιαν", "Φεβ", "Μαρ", "Απρ", "Μάι", "Ιουν", "Ιουλ", "Αυγ", "Σεπ", "Οκτ", "Νοε", "Δεκ"], 11 | today: "Σήμερα" 12 | }; 13 | }(jQuery)); 14 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.es.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Spanish translation for bootstrap-datepicker 3 | * Bruno Bonamin 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['es'] = { 7 | days: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"], 8 | daysShort: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb", "Dom"], 9 | daysMin: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa", "Do"], 10 | months: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"], 11 | monthsShort: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"], 12 | today: "Hoy" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.et.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Estonian translation for bootstrap-datepicker 3 | * Ando Roots 4 | * Fixes by Illimar Tambek < 5 | */ 6 | ;(function($){ 7 | $.fn.datepicker.dates['et'] = { 8 | days: ["Pühapäev", "Esmaspäev", "Teisipäev", "Kolmapäev", "Neljapäev", "Reede", "Laupäev", "Pühapäev"], 9 | daysShort: ["Pühap", "Esmasp", "Teisip", "Kolmap", "Neljap", "Reede", "Laup", "Pühap"], 10 | daysMin: ["P", "E", "T", "K", "N", "R", "L", "P"], 11 | months: ["Jaanuar", "Veebruar", "Märts", "Aprill", "Mai", "Juuni", "Juuli", "August", "September", "Oktoober", "November", "Detsember"], 12 | monthsShort: ["Jaan", "Veebr", "Märts", "Apr", "Mai", "Juuni", "Juuli", "Aug", "Sept", "Okt", "Nov", "Dets"], 13 | today: "Täna", 14 | clear: "Tühjenda", 15 | weekStart: 1, 16 | format: "dd.mm.yyyy" 17 | }; 18 | }(jQuery)); 19 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.fa.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Persian translation for bootstrap-datepicker 3 | * Mostafa Rokooie 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['fa'] = { 7 | days: ["یکشنبه", "دوشنبه", "سهشنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه", "یکشنبه"], 8 | daysShort: ["یک", "دو", "سه", "چهار", "پنج", "جمعه", "شنبه", "یک"], 9 | daysMin: ["ی", "د", "س", "چ", "پ", "ج", "ش", "ی"], 10 | months: ["ژانویه", "فوریه", "مارس", "آوریل", "مه", "ژوئن", "ژوئیه", "اوت", "سپتامبر", "اکتبر", "نوامبر", "دسامبر"], 11 | monthsShort: ["ژان", "فور", "مار", "آور", "مه", "ژون", "ژوی", "اوت", "سپت", "اکت", "نوا", "دسا"], 12 | today: "امروز", 13 | clear: "پاک کن", 14 | weekStart: 1, 15 | format: "yyyy/mm/dd" 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.fi.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Finnish translation for bootstrap-datepicker 3 | * Jaakko Salonen 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['fi'] = { 7 | days: ["sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai", "sunnuntai"], 8 | daysShort: ["sun", "maa", "tii", "kes", "tor", "per", "lau", "sun"], 9 | daysMin: ["su", "ma", "ti", "ke", "to", "pe", "la", "su"], 10 | months: ["tammikuu", "helmikuu", "maaliskuu", "huhtikuu", "toukokuu", "kesäkuu", "heinäkuu", "elokuu", "syyskuu", "lokakuu", "marraskuu", "joulukuu"], 11 | monthsShort: ["tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mar", "jou"], 12 | today: "tänään", 13 | weekStart: 1, 14 | format: "d.m.yyyy" 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.fr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * French translation for bootstrap-datepicker 3 | * Nico Mollet 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['fr'] = { 7 | days: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"], 8 | daysShort: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", "Dim"], 9 | daysMin: ["D", "L", "Ma", "Me", "J", "V", "S", "D"], 10 | months: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"], 11 | monthsShort: ["Jan", "Fév", "Mar", "Avr", "Mai", "Jui", "Jul", "Aou", "Sep", "Oct", "Nov", "Déc"], 12 | today: "Aujourd'hui", 13 | clear: "Effacer", 14 | weekStart: 1, 15 | format: "dd/mm/yyyy" 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.gl.js: -------------------------------------------------------------------------------- 1 | ;(function($){ 2 | $.fn.datepicker.dates['gl'] = { 3 | days: ["Domingo", "Luns", "Martes", "Mércores", "Xoves", "Venres", "Sábado", "Domingo"], 4 | daysShort: ["Dom", "Lun", "Mar", "Mér", "Xov", "Ven", "Sáb", "Dom"], 5 | daysMin: ["Do", "Lu", "Ma", "Me", "Xo", "Ve", "Sa", "Do"], 6 | months: ["Xaneiro", "Febreiro", "Marzo", "Abril", "Maio", "Xuño", "Xullo", "Agosto", "Setembro", "Outubro", "Novembro", "Decembro"], 7 | monthsShort: ["Xan", "Feb", "Mar", "Abr", "Mai", "Xun", "Xul", "Ago", "Sep", "Out", "Nov", "Dec"], 8 | today: "Hoxe", 9 | clear: "Limpar" 10 | }; 11 | }(jQuery)); 12 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.he.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Hebrew translation for bootstrap-datepicker 3 | * Sagie Maoz 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['he'] = { 7 | days: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת", "ראשון"], 8 | daysShort: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"], 9 | daysMin: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"], 10 | months: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], 11 | monthsShort: ["ינו", "פבר", "מרץ", "אפר", "מאי", "יונ", "יול", "אוג", "ספט", "אוק", "נוב", "דצמ"], 12 | today: "היום", 13 | rtl: true 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.hr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Croatian localisation 3 | */ 4 | ;(function($){ 5 | $.fn.datepicker.dates['hr'] = { 6 | days: ["Nedjelja", "Ponedjeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota", "Nedjelja"], 7 | daysShort: ["Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub", "Ned"], 8 | daysMin: ["Ne", "Po", "Ut", "Sr", "Če", "Pe", "Su", "Ne"], 9 | months: ["Siječanj", "Veljača", "Ožujak", "Travanj", "Svibanj", "Lipanj", "Srpanj", "Kolovoz", "Rujan", "Listopad", "Studeni", "Prosinac"], 10 | monthsShort: ["Sij", "Velj", "Ožu", "Tra", "Svi", "Lip", "Srp", "Kol", "Ruj", "Lis", "Stu", "Pro"], 11 | today: "Danas" 12 | }; 13 | }(jQuery)); 14 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.hu.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Hungarian translation for bootstrap-datepicker 3 | * Sotus László 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['hu'] = { 7 | days: ["Vasárnap", "Hétfő", "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat", "Vasárnap"], 8 | daysShort: ["Vas", "Hét", "Ked", "Sze", "Csü", "Pén", "Szo", "Vas"], 9 | daysMin: ["Va", "Hé", "Ke", "Sz", "Cs", "Pé", "Sz", "Va"], 10 | months: ["Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Már", "Ápr", "Máj", "Jún", "Júl", "Aug", "Sze", "Okt", "Nov", "Dec"], 12 | today: "Ma", 13 | weekStart: 1, 14 | format: "yyyy.mm.dd" 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.id.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Bahasa translation for bootstrap-datepicker 3 | * Azwar Akbar 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['id'] = { 7 | days: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu"], 8 | daysShort: ["Mgu", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab", "Mgu"], 9 | daysMin: ["Mg", "Sn", "Sl", "Ra", "Ka", "Ju", "Sa", "Mg"], 10 | months: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ags", "Sep", "Okt", "Nov", "Des"], 12 | today: "Hari Ini", 13 | clear: "Kosongkan" 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.is.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Icelandic translation for bootstrap-datepicker 3 | * Hinrik Örn Sigurðsson 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['is'] = { 7 | days: ["Sunnudagur", "Mánudagur", "Þriðjudagur", "Miðvikudagur", "Fimmtudagur", "Föstudagur", "Laugardagur", "Sunnudagur"], 8 | daysShort: ["Sun", "Mán", "Þri", "Mið", "Fim", "Fös", "Lau", "Sun"], 9 | daysMin: ["Su", "Má", "Þr", "Mi", "Fi", "Fö", "La", "Su"], 10 | months: ["Janúar", "Febrúar", "Mars", "Apríl", "Maí", "Júní", "Júlí", "Ágúst", "September", "Október", "Nóvember", "Desember"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maí", "Jún", "Júl", "Ágú", "Sep", "Okt", "Nóv", "Des"], 12 | today: "Í Dag" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.it.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Italian translation for bootstrap-datepicker 3 | * Enrico Rubboli 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['it'] = { 7 | days: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato", "Domenica"], 8 | daysShort: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab", "Dom"], 9 | daysMin: ["Do", "Lu", "Ma", "Me", "Gi", "Ve", "Sa", "Do"], 10 | months: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], 11 | monthsShort: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"], 12 | today: "Oggi", 13 | clear: "Cancella", 14 | weekStart: 1, 15 | format: "dd/mm/yyyy" 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.ja.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Japanese translation for bootstrap-datepicker 3 | * Norio Suzuki 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ja'] = { 7 | days: ["日曜", "月曜", "火曜", "水曜", "木曜", "金曜", "土曜", "日曜"], 8 | daysShort: ["日", "月", "火", "水", "木", "金", "土", "日"], 9 | daysMin: ["日", "月", "火", "水", "木", "金", "土", "日"], 10 | months: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], 11 | monthsShort: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], 12 | today: "今日", 13 | format: "yyyy/mm/dd" 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.ka.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Georgian translation for bootstrap-datepicker 3 | * Levan Melikishvili 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ka'] = { 7 | days: ["კვირა", "ორშაბათი", "სამშაბათი", "ოთხშაბათი", "ხუთშაბათი", "პარასკევი", "შაბათი", "კვირა"], 8 | daysShort: ["კვი", "ორშ", "სამ", "ოთხ", "ხუთ", "პარ", "შაბ", "კვი"], 9 | daysMin: ["კვ", "ორ", "სა", "ოთ", "ხუ", "პა", "შა", "კვ"], 10 | months: ["იანვარი", "თებერვალი", "მარტი", "აპრილი", "მაისი", "ივნისი", "ივლისი", "აგვისტო", "სექტემბერი", "ოქტომები", "ნოემბერი", "დეკემბერი"], 11 | monthsShort: ["იან", "თებ", "მარ", "აპრ", "მაი", "ივნ", "ივლ", "აგვ", "სექ", "ოქტ", "ნოე", "დეკ"], 12 | today: "დღეს", 13 | clear: "გასუფთავება", 14 | weekStart: 1, 15 | format: "dd.mm.yyyy" 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.kk.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Kazakh translation for bootstrap-datepicker 3 | * Yerzhan Tolekov 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['kk'] = { 7 | days: ["Жексенбі", "Дүйсенбі", "Сейсенбі", "Сәрсенбі", "Бейсенбі", "Жұма", "Сенбі", "Жексенбі"], 8 | daysShort: ["Жек", "Дүй", "Сей", "Сәр", "Бей", "Жұм", "Сен", "Жек"], 9 | daysMin: ["Жк", "Дс", "Сс", "Ср", "Бс", "Жм", "Сн", "Жк"], 10 | months: ["Қаңтар", "Ақпан", "Наурыз", "Сәуір", "Мамыр", "Маусым", "Шілде", "Тамыз", "Қыркүйек", "Қазан", "Қараша", "Желтоқсан"], 11 | monthsShort: ["Қаң", "Ақп", "Нау", "Сәу", "Мамыр", "Мау", "Шлд", "Тмз", "Қыр", "Қзн", "Қар", "Жел"], 12 | today: "Бүгін", 13 | weekStart: 1 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.kr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Korean translation for bootstrap-datepicker 3 | * Gu Youn 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['kr'] = { 7 | days: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일", "일요일"], 8 | daysShort: ["일", "월", "화", "수", "목", "금", "토", "일"], 9 | daysMin: ["일", "월", "화", "수", "목", "금", "토", "일"], 10 | months: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], 11 | monthsShort: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"] 12 | }; 13 | }(jQuery)); 14 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.lt.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Lithuanian translation for bootstrap-datepicker 3 | * Šarūnas Gliebus 4 | */ 5 | 6 | ;(function($){ 7 | $.fn.datepicker.dates['lt'] = { 8 | days: ["Sekmadienis", "Pirmadienis", "Antradienis", "Trečiadienis", "Ketvirtadienis", "Penktadienis", "Šeštadienis", "Sekmadienis"], 9 | daysShort: ["S", "Pr", "A", "T", "K", "Pn", "Š", "S"], 10 | daysMin: ["Sk", "Pr", "An", "Tr", "Ke", "Pn", "Št", "Sk"], 11 | months: ["Sausis", "Vasaris", "Kovas", "Balandis", "Gegužė", "Birželis", "Liepa", "Rugpjūtis", "Rugsėjis", "Spalis", "Lapkritis", "Gruodis"], 12 | monthsShort: ["Sau", "Vas", "Kov", "Bal", "Geg", "Bir", "Lie", "Rugp", "Rugs", "Spa", "Lap", "Gru"], 13 | today: "Šiandien", 14 | weekStart: 1 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.lv.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Latvian translation for bootstrap-datepicker 3 | * Artis Avotins 4 | */ 5 | 6 | ;(function($){ 7 | $.fn.datepicker.dates['lv'] = { 8 | days: ["Svētdiena", "Pirmdiena", "Otrdiena", "Trešdiena", "Ceturtdiena", "Piektdiena", "Sestdiena", "Svētdiena"], 9 | daysShort: ["Sv", "P", "O", "T", "C", "Pk", "S", "Sv"], 10 | daysMin: ["Sv", "Pr", "Ot", "Tr", "Ce", "Pk", "Se", "Sv"], 11 | months: ["Janvāris", "Februāris", "Marts", "Aprīlis", "Maijs", "Jūnijs", "Jūlijs", "Augusts", "Septembris", "Oktobris", "Novembris", "Decembris"], 12 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jūn", "Jūl", "Aug", "Sep", "Okt", "Nov", "Dec"], 13 | today: "Šodien", 14 | weekStart: 1 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.mk.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Macedonian translation for bootstrap-datepicker 3 | * Marko Aleksic 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['mk'] = { 7 | days: ["Недела", "Понеделник", "Вторник", "Среда", "Четврток", "Петок", "Сабота", "Недела"], 8 | daysShort: ["Нед", "Пон", "Вто", "Сре", "Чет", "Пет", "Саб", "Нед"], 9 | daysMin: ["Не", "По", "Вт", "Ср", "Че", "Пе", "Са", "Не"], 10 | months: ["Јануари", "Февруари", "Март", "Април", "Мај", "Јуни", "Јули", "Август", "Септември", "Октомври", "Ноември", "Декември"], 11 | monthsShort: ["Јан", "Фев", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Ное", "Дек"], 12 | today: "Денес", 13 | format: "dd.mm.yyyy" 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.ms.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Malay translation for bootstrap-datepicker 3 | * Ateman Faiz 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ms'] = { 7 | days: ["Ahad", "Isnin", "Selasa", "Rabu", "Khamis", "Jumaat", "Sabtu", "Ahad"], 8 | daysShort: ["Aha", "Isn", "Sel", "Rab", "Kha", "Jum", "Sab", "Aha"], 9 | daysMin: ["Ah", "Is", "Se", "Ra", "Kh", "Ju", "Sa", "Ah"], 10 | months: ["Januari", "Februari", "Mac", "April", "Mei", "Jun", "Julai", "Ogos", "September", "Oktober", "November", "Disember"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ogo", "Sep", "Okt", "Nov", "Dis"], 12 | today: "Hari Ini" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.nb.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Norwegian (bokmål) translation for bootstrap-datepicker 3 | * Fredrik Sundmyhr 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['nb'] = { 7 | days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"], 8 | daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"], 9 | daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"], 10 | months: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], 12 | today: "I Dag" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.nl-BE.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Belgium-Dutch translation for bootstrap-datepicker 3 | * Julien Poulin 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['nl-BE'] = { 7 | days: ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag", "Zondag"], 8 | daysShort: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], 9 | daysMin: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], 10 | months: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Mrt", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], 12 | today: "Vandaag", 13 | clear: "Leegmaken", 14 | weekStart: 1, 15 | format: "dd/mm/yyyy" 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.nl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Dutch translation for bootstrap-datepicker 3 | * Reinier Goltstein 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['nl'] = { 7 | days: ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag", "Zondag"], 8 | daysShort: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], 9 | daysMin: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], 10 | months: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Mrt", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], 12 | today: "Vandaag" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.no.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Norwegian translation for bootstrap-datepicker 3 | **/ 4 | ;(function($){ 5 | $.fn.datepicker.dates['no'] = { 6 | days: ['Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag'], 7 | daysShort: ['Søn','Man','Tir','Ons','Tor','Fre','Lør'], 8 | daysMin: ['Sø','Ma','Ti','On','To','Fr','Lø'], 9 | months: ['Januar','Februar','Mars','April','Mai','Juni','Juli','August','September','Oktober','November','Desember'], 10 | monthsShort: ['Jan','Feb','Mar','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Des'], 11 | today: 'I dag', 12 | clear: 'Nullstill', 13 | weekStart: 1, 14 | format: 'dd.mm.yyyy' 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.pl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Polish translation for bootstrap-datepicker 3 | * Robert 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['pl'] = { 7 | days: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota", "Niedziela"], 8 | daysShort: ["Nie", "Pn", "Wt", "Śr", "Czw", "Pt", "So", "Nie"], 9 | daysMin: ["N", "Pn", "Wt", "Śr", "Cz", "Pt", "So", "N"], 10 | months: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"], 11 | monthsShort: ["Sty", "Lu", "Mar", "Kw", "Maj", "Cze", "Lip", "Sie", "Wrz", "Pa", "Lis", "Gru"], 12 | today: "Dzisiaj", 13 | weekStart: 1 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.pt-BR.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Brazilian translation for bootstrap-datepicker 3 | * Cauan Cabral 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['pt-BR'] = { 7 | days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"], 8 | daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"], 9 | daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"], 10 | months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], 11 | monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"], 12 | today: "Hoje", 13 | clear: "Limpar" 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.pt.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Portuguese translation for bootstrap-datepicker 3 | * Original code: Cauan Cabral 4 | * Tiago Melo 5 | */ 6 | ;(function($){ 7 | $.fn.datepicker.dates['pt'] = { 8 | days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"], 9 | daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"], 10 | daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"], 11 | months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], 12 | monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"], 13 | today: "Hoje", 14 | clear: "Limpar" 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.ro.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Romanian translation for bootstrap-datepicker 3 | * Cristian Vasile 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ro'] = { 7 | days: ["Duminică", "Luni", "Marţi", "Miercuri", "Joi", "Vineri", "Sâmbătă", "Duminică"], 8 | daysShort: ["Dum", "Lun", "Mar", "Mie", "Joi", "Vin", "Sâm", "Dum"], 9 | daysMin: ["Du", "Lu", "Ma", "Mi", "Jo", "Vi", "Sâ", "Du"], 10 | months: ["Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "Noiembrie", "Decembrie"], 11 | monthsShort: ["Ian", "Feb", "Mar", "Apr", "Mai", "Iun", "Iul", "Aug", "Sep", "Oct", "Nov", "Dec"], 12 | today: "Astăzi", 13 | clear: "Șterge", 14 | weekStart: 1 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.rs-latin.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Serbian latin translation for bootstrap-datepicker 3 | * Bojan Milosavlević 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['rs-latin'] = { 7 | days: ["Nedelja","Ponedeljak", "Utorak", "Sreda", "Četvrtak", "Petak", "Subota", "Nedelja"], 8 | daysShort: ["Ned", "Pon", "Uto", "Sre", "Čet", "Pet", "Sub", "Ned"], 9 | daysMin: ["N", "Po", "U", "Sr", "Č", "Pe", "Su", "N"], 10 | months: ["Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], 12 | today: "Danas" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.rs.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Serbian cyrillic translation for bootstrap-datepicker 3 | * Bojan Milosavlević 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['rs'] = { 7 | days: ["Недеља","Понедељак", "Уторак", "Среда", "Четвртак", "Петак", "Субота", "Недеља"], 8 | daysShort: ["Нед", "Пон", "Уто", "Сре", "Чет", "Пет", "Суб", "Нед"], 9 | daysMin: ["Н", "По", "У", "Ср", "Ч", "Пе", "Су", "Н"], 10 | months: ["Јануар", "Фебруар", "Март", "Април", "Мај", "Јун", "Јул", "Август", "Септембар", "Октобар", "Новембар", "Децембар"], 11 | monthsShort: ["Јан", "Феб", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Нов", "Дец"], 12 | today: "Данас" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.ru.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Russian translation for bootstrap-datepicker 3 | * Victor Taranenko 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ru'] = { 7 | days: ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"], 8 | daysShort: ["Вск", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Вск"], 9 | daysMin: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс"], 10 | months: ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"], 11 | monthsShort: ["Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"], 12 | today: "Сегодня", 13 | weekStart: 1 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.sk.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Slovak translation for bootstrap-datepicker 3 | * Marek Lichtner 4 | * Fixes by Michal Remiš 5 | */ 6 | ;(function($){ 7 | $.fn.datepicker.dates["sk"] = { 8 | days: ["Nedeľa", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota", "Nedeľa"], 9 | daysShort: ["Ned", "Pon", "Uto", "Str", "Štv", "Pia", "Sob", "Ned"], 10 | daysMin: ["Ne", "Po", "Ut", "St", "Št", "Pia", "So", "Ne"], 11 | months: ["Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"], 12 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Máj", "Jún", "Júl", "Aug", "Sep", "Okt", "Nov", "Dec"], 13 | today: "Dnes" 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.sl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Slovene translation for bootstrap-datepicker 3 | * Gregor Rudolf 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['sl'] = { 7 | days: ["Nedelja", "Ponedeljek", "Torek", "Sreda", "Četrtek", "Petek", "Sobota", "Nedelja"], 8 | daysShort: ["Ned", "Pon", "Tor", "Sre", "Čet", "Pet", "Sob", "Ned"], 9 | daysMin: ["Ne", "Po", "To", "Sr", "Če", "Pe", "So", "Ne"], 10 | months: ["Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], 12 | today: "Danes" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.sq.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Albanian translation for bootstrap-datepicker 3 | * Tomor Pupovci 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['sq'] = { 7 | days: ["E Diel", "E Hënë", "E martē", "E mërkurë", "E Enjte", "E Premte", "E Shtunë", "E Diel"], 8 | daysShort: ["Die", "Hën", "Mar", "Mër", "Enj", "Pre", "Shtu", "Die"], 9 | daysMin: ["Di", "Hë", "Ma", "Më", "En", "Pr", "Sht", "Di"], 10 | months: ["Janar", "Shkurt", "Mars", "Prill", "Maj", "Qershor", "Korrik", "Gusht", "Shtator", "Tetor", "Nëntor", "Dhjetor"], 11 | monthsShort: ["Jan", "Shk", "Mar", "Pri", "Maj", "Qer", "Korr", "Gu", "Sht", "Tet", "Nën", "Dhjet"], 12 | today: "Sot" 13 | }; 14 | }(jQuery)); 15 | 16 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.sv.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Swedish translation for bootstrap-datepicker 3 | * Patrik Ragnarsson 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['sv'] = { 7 | days: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag", "Söndag"], 8 | daysShort: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör", "Sön"], 9 | daysMin: ["Sö", "Må", "Ti", "On", "To", "Fr", "Lö", "Sö"], 10 | months: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], 12 | today: "Idag", 13 | format: "yyyy-mm-dd", 14 | weekStart: 1 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.sw.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Swahili translation for bootstrap-datepicker 3 | * Edwin Mugendi 4 | * Source: http://scriptsource.org/cms/scripts/page.php?item_id=entry_detail&uid=xnfaqyzcku 5 | */ 6 | ;(function($){ 7 | $.fn.datepicker.dates['sw'] = { 8 | days: ["Jumapili", "Jumatatu", "Jumanne", "Jumatano", "Alhamisi", "Ijumaa", "Jumamosi", "Jumapili"], 9 | daysShort: ["J2", "J3", "J4", "J5", "Alh", "Ij", "J1", "J2"], 10 | daysMin: ["2", "3", "4", "5", "A", "I", "1", "2"], 11 | months: ["Januari", "Februari", "Machi", "Aprili", "Mei", "Juni", "Julai", "Agosti", "Septemba", "Oktoba", "Novemba", "Desemba"], 12 | monthsShort: ["Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"], 13 | today: "Leo" 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.th.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Thai translation for bootstrap-datepicker 3 | * Suchau Jiraprapot 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['th'] = { 7 | days: ["อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัส", "ศุกร์", "เสาร์", "อาทิตย์"], 8 | daysShort: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"], 9 | daysMin: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"], 10 | months: ["มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฎาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม"], 11 | monthsShort: ["ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "ก.ค.", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธ.ค."], 12 | today: "วันนี้" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.tr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Turkish translation for bootstrap-datepicker 3 | * Serkan Algur 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['tr'] = { 7 | days: ["Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi", "Pazar"], 8 | daysShort: ["Pz", "Pzt", "Sal", "Çrş", "Prş", "Cu", "Cts", "Pz"], 9 | daysMin: ["Pz", "Pzt", "Sa", "Çr", "Pr", "Cu", "Ct", "Pz"], 10 | months: ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"], 11 | monthsShort: ["Oca", "Şub", "Mar", "Nis", "May", "Haz", "Tem", "Ağu", "Eyl", "Eki", "Kas", "Ara"], 12 | today: "Bugün", 13 | format: "dd.mm.yyyy" 14 | }; 15 | }(jQuery)); 16 | 17 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.ua.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Ukrainian translation for bootstrap-datepicker 3 | * Igor Polynets 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ua'] = { 7 | days: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четвер", "П'ятница", "Субота", "Неділя"], 8 | daysShort: ["Нед", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Нед"], 9 | daysMin: ["Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Нд"], 10 | months: ["Cічень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"], 11 | monthsShort: ["Січ", "Лют", "Бер", "Кві", "Тра", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Гру"], 12 | today: "Сьогодні", 13 | weekStart: 1 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.vi.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Vietnamese translation for bootstrap-datepicker 3 | * An Vo 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['vi'] = { 7 | days: ["Chủ nhật", "Thứ hai", "Thứ ba", "Thứ tư", "Thứ năm", "Thứ sáu", "Thứ bảy", "Chủ nhật"], 8 | daysShort: ["CN", "Thứ 2", "Thứ 3", "Thứ 4", "Thứ 5", "Thứ 6", "Thứ 7", "CN"], 9 | daysMin: ["CN", "T2", "T3", "T4", "T5", "T6", "T7", "CN"], 10 | months: ["Tháng 1", "Tháng 2", "Tháng 3", "Tháng 4", "Tháng 5", "Tháng 6", "Tháng 7", "Tháng 8", "Tháng 9", "Tháng 10", "Tháng 11", "Tháng 12"], 11 | monthsShort: ["Th1", "Th2", "Th3", "Th4", "Th5", "Th6", "Th7", "Th8", "Th9", "Th10", "Th11", "Th12"], 12 | today: "Hôm nay", 13 | clear: "Xóa", 14 | format: "dd/mm/yyyy" 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.zh-CN.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Simplified Chinese translation for bootstrap-datepicker 3 | * Yuan Cheung 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['zh-CN'] = { 7 | days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], 8 | daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"], 9 | daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"], 10 | months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 11 | monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 12 | today: "今日", 13 | format: "yyyy年mm月dd日", 14 | weekStart: 1 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/js/locales/bootstrap-datepicker.zh-TW.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Traditional Chinese translation for bootstrap-datepicker 3 | * Rung-Sheng Jang 4 | * FrankWu Fix more appropriate use of Traditional Chinese habit 5 | */ 6 | ;(function($){ 7 | $.fn.datepicker.dates['zh-TW'] = { 8 | days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], 9 | daysShort: ["週日", "週一", "週二", "週三", "週四", "週五", "週六", "週日"], 10 | daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"], 11 | months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 12 | monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 13 | today: "今天", 14 | format: "yyyy年mm月dd日", 15 | weekStart: 1 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /Log4Grid.Management.Web/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Log4Grid.Models/ApplicationData.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Log4Grid.Models 7 | { 8 | public class ApplicationData 9 | { 10 | public ApplicationData() 11 | { 12 | 13 | } 14 | 15 | public string ID { get; set; } 16 | 17 | public string Name 18 | { 19 | get; 20 | set; 21 | } 22 | 23 | public IList Hosts 24 | { 25 | get; 26 | set; 27 | } 28 | 29 | } 30 | public class ApplicationHost 31 | { 32 | public string ID { get; set; } 33 | 34 | public string Name 35 | { 36 | get; 37 | set; 38 | } 39 | 40 | public string CpuUsage 41 | { 42 | get; 43 | set; 44 | } 45 | 46 | public string MemoryUsage 47 | { 48 | get; 49 | set; 50 | } 51 | 52 | public DateTime LastActiveTime { get; set; } 53 | 54 | public bool Enabled { get; set; } 55 | 56 | 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /Log4Grid.Models/Log4Grid.Models.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | AnyCPU 6 | 8.0.30703 7 | 2.0 8 | {77AC7897-D0A5-45C4-8CC8-17B33D820740} 9 | Library 10 | Properties 11 | Log4Grid.Models 12 | Log4Grid.Models 13 | v4.0 14 | 512 15 | 16 | 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | pdbonly 27 | true 28 | bin\Release\ 29 | TRACE 30 | prompt 31 | 4 32 | 33 | 34 | 35 | ..\Lib\protobuf-net.dll 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 62 | -------------------------------------------------------------------------------- /Log4Grid.Models/LogModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using ProtoBuf; 6 | namespace Log4Grid.Models 7 | { 8 | [ProtoContract] 9 | public class LogModel 10 | { 11 | [ProtoMember(1)] 12 | public string Host 13 | { 14 | get; 15 | set; 16 | } 17 | [ProtoMember(2)] 18 | public string App 19 | { 20 | get; 21 | set; 22 | } 23 | [ProtoMember(3)] 24 | public DateTime CreateTime 25 | { 26 | get; 27 | set; 28 | } 29 | [ProtoMember(4)] 30 | public string Content 31 | { 32 | get; 33 | set; 34 | } 35 | [ProtoMember(5)] 36 | public LogType Type 37 | { 38 | get; 39 | set; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Log4Grid.Models/LogType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using ProtoBuf; 6 | 7 | namespace Log4Grid.Models 8 | { 9 | [ProtoContract] 10 | public enum LogType:int 11 | { 12 | [ProtoEnum] 13 | Debug = 2, 14 | [ProtoEnum] 15 | Info = 4, 16 | [ProtoEnum] 17 | Warn = 8, 18 | [ProtoEnum] 19 | Error = 16, 20 | [ProtoEnum] 21 | Fatal = 32 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Log4Grid.Models/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // 有关程序集的常规信息通过以下 6 | // 特性集控制。更改这些特性值可修改 7 | // 与程序集关联的信息。 8 | [assembly: AssemblyTitle("Log4Grid.Models")] 9 | [assembly: AssemblyDescription("email:henryfan@msn.com")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("www.ikende.com")] 12 | [assembly: AssemblyProduct("Log4Grid.Models")] 13 | [assembly: AssemblyCopyright("Copyright © www.ikende.com 2014")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // 将 ComVisible 设置为 false 使此程序集中的类型 18 | // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型, 19 | // 则将该类型上的 ComVisible 特性设置为 true。 20 | [assembly: ComVisible(false)] 21 | 22 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID 23 | [assembly: Guid("ef9df037-ffb7-4ec2-aab1-ca0b17b9427e")] 24 | 25 | // 程序集的版本信息由下面四个值组成: 26 | // 27 | // 主版本 28 | // 次版本 29 | // 内部版本号 30 | // 修订号 31 | // 32 | // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值, 33 | // 方法是按如下所示使用“*”: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /Log4Grid.Models/ProtobufPacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Log4Grid.Models 7 | { 8 | public class ProtobufPacket 9 | { 10 | public static ArraySegment Serialize(object message, byte[] buffer) 11 | { 12 | 13 | using (System.IO.MemoryStream stream = new System.IO.MemoryStream(buffer)) 14 | { 15 | stream.Position = 0; 16 | if (message is LogModel) 17 | { 18 | stream.WriteByte((byte)1); 19 | } 20 | else 21 | { 22 | stream.WriteByte((byte)2); 23 | } 24 | ProtoBuf.Meta.RuntimeTypeModel.Default.Serialize(stream, message); 25 | return new ArraySegment(buffer, 0, (int)stream.Position); 26 | } 27 | } 28 | public static object Deserialize(ArraySegment buffer) 29 | { 30 | using (System.IO.MemoryStream stream = new System.IO.MemoryStream(buffer.Array,0,buffer.Count)) 31 | { 32 | stream.Position = 0; 33 | int type = stream.ReadByte(); 34 | if (type == 1) 35 | { 36 | return ProtoBuf.Meta.RuntimeTypeModel.Default.Deserialize(stream, null, typeof(LogModel)); 37 | } 38 | else 39 | { 40 | return ProtoBuf.Meta.RuntimeTypeModel.Default.Deserialize(stream, null, typeof(StatModel)); 41 | } 42 | } 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /Log4Grid.Models/StatModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using ProtoBuf; 6 | 7 | namespace Log4Grid.Models 8 | { 9 | [ProtoContract] 10 | public class StatModel 11 | { 12 | [ProtoMember(1)] 13 | public string Host 14 | { 15 | get; 16 | set; 17 | } 18 | [ProtoMember(2)] 19 | public string App 20 | { 21 | get; 22 | set; 23 | } 24 | [ProtoMember(3)] 25 | public string CpuUsage 26 | { 27 | get; 28 | set; 29 | } 30 | [ProtoMember(4)] 31 | public string MemoryUsage 32 | { 33 | get; 34 | set; 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Log4Grid.Models/User.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Log4Grid.Models 7 | { 8 | public class User 9 | { 10 | public string Name { get; set; } 11 | public string Password { get; set; } 12 | public string Email { get; set; } 13 | public bool Enabled { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Log4Grid.MySQL/LogSearchHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Peanut; 6 | namespace Log4Grid.MySQL 7 | { 8 | public class LogSearch4MySQL : Log4Grid.DataAccess.LogSearchHandlerBase 9 | { 10 | protected override bool Exists(string table) 11 | { 12 | SQL sql = @"SHOW TABLES LIKE @p1"; 13 | sql = sql["p1", table]; 14 | return sql.GetValue(DB)!=null; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Log4Grid.MySQL/LogStoreHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Peanut; 6 | using System.Security.Cryptography; 7 | 8 | namespace Log4Grid.MySQL 9 | { 10 | public class LogStore4MySQL : Log4Grid.DataAccess.LogStoreHandlerBase 11 | { 12 | 13 | private Dictionary mTables = new Dictionary(); 14 | 15 | protected override bool Exists(string table) 16 | { 17 | if (mTables.ContainsKey(table)) 18 | return true; 19 | SQL sql = @"SHOW TABLES LIKE @p1"; 20 | sql = sql["p1", table]; 21 | return !string.IsNullOrEmpty(sql.GetValue(DB)); 22 | } 23 | 24 | protected override void OnCreateTable(string table) 25 | { 26 | 27 | SQL sql = string.Format(@"CREATE TABLE [{0}] ( 28 | [ID] VARCHAR(50), 29 | [App] VARCHAR(50), 30 | [Host] VARCHAR(50), 31 | [Type] INT, 32 | [LogContent] TEXT, 33 | [CreateTime] DATETIME); 34 | 35 | CREATE INDEX [{0}_index_createtime] ON [{0}] ([CreateTime] DESC);", table); 36 | sql.Execute(DB); 37 | mTables.Add(table, table); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Log4Grid.MySQL/Management.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Peanut; 6 | namespace Log4Grid.MySQL 7 | { 8 | public class Management4MySQL : Log4Grid.DataAccess.ManagementBase 9 | { 10 | 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Log4Grid.MySQL/MySQLDriver.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using MySql.Data.MySqlClient; 6 | using Peanut; 7 | 8 | namespace Log4Grid.MySQL 9 | { 10 | public class MySqlDriver : DriverTemplate 11 | { 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Log4Grid.MySQL/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // 有关程序集的常规信息通过以下 6 | // 特性集控制。更改这些特性值可修改 7 | // 与程序集关联的信息。 8 | [assembly: AssemblyTitle("Log4Grid.MySQL")] 9 | [assembly: AssemblyDescription("email:henryfan@msn.com")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("www.ikende.com")] 12 | [assembly: AssemblyProduct("Log4Grid.MySQL")] 13 | [assembly: AssemblyCopyright("Copyright © www.ikende.com 2014")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // 将 ComVisible 设置为 false 使此程序集中的类型 18 | // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型, 19 | // 则将该类型上的 ComVisible 特性设置为 true。 20 | [assembly: ComVisible(false)] 21 | 22 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID 23 | [assembly: Guid("98baf1ea-b588-46e9-83a3-57855e90140a")] 24 | 25 | // 程序集的版本信息由下面四个值组成: 26 | // 27 | // 主版本 28 | // 次版本 29 | // 内部版本号 30 | // 修订号 31 | // 32 | // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值, 33 | // 方法是按如下所示使用“*”: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /Log4Grid.MySQL/UserHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Peanut; 6 | 7 | namespace Log4Grid.MySQL 8 | { 9 | public class User4MySQL : Log4Grid.DataAccess.UserHandlerBase 10 | { 11 | 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Log4Grid.MySQL/log4grid.sql: -------------------------------------------------------------------------------- 1 | /* 2 | Navicat MySQL Data Transfer 3 | 4 | Source Server : 192.168.0.121_3306 5 | Source Server Version : 50173 6 | Source Host : 192.168.0.121:3306 7 | Source Database : log4net 8 | 9 | Target Server Type : MYSQL 10 | Target Server Version : 50173 11 | File Encoding : 65001 12 | 13 | Date: 2014-04-11 17:21:13 14 | */ 15 | 16 | SET FOREIGN_KEY_CHECKS=0; 17 | 18 | -- ---------------------------- 19 | -- Table structure for Application 20 | -- ---------------------------- 21 | DROP TABLE IF EXISTS `TBL_Application`; 22 | CREATE TABLE `TBL_Application` ( 23 | `ID` varchar(50) NOT NULL, 24 | `Name` varchar(255) NOT NULL, 25 | `Remark` varchar(255) DEFAULT NULL, 26 | PRIMARY KEY (`ID`) 27 | ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 28 | 29 | -- ---------------------------- 30 | -- Table structure for Host 31 | -- ---------------------------- 32 | DROP TABLE IF EXISTS `TBL_Host`; 33 | CREATE TABLE `TBL_Host` ( 34 | `ID` varchar(50) NOT NULL, 35 | `AppID` varchar(50) NOT NULL, 36 | `Name` varchar(255) NOT NULL, 37 | `CpuUsage` varchar(255) DEFAULT NULL, 38 | `LastActiveTime` varchar(255) DEFAULT NULL, 39 | `MemoryUsage` varchar(255) DEFAULT NULL, 40 | PRIMARY KEY (`ID`) 41 | ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 42 | 43 | -- ---------------------------- 44 | -- Table structure for Log 45 | -- ---------------------------- 46 | DROP TABLE IF EXISTS `TBL_Log`; 47 | CREATE TABLE `TBL_Log` ( 48 | `ID` varchar(50) NOT NULL, 49 | `Host` varchar(255) DEFAULT NULL, 50 | `App` varchar(255) DEFAULT NULL, 51 | `CreateTime` datetime DEFAULT NULL, 52 | `LogContent` text, 53 | `Type` int(11) DEFAULT NULL, 54 | PRIMARY KEY (`ID`), 55 | KEY `createtime_index` (`CreateTime`) 56 | ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 57 | 58 | -- ---------------------------- 59 | -- Table structure for User 60 | -- ---------------------------- 61 | DROP TABLE IF EXISTS `TBL_User`; 62 | CREATE TABLE `TBL_User` ( 63 | `Name` varchar(50) NOT NULL, 64 | `User_PWD` varchar(255) DEFAULT NULL, 65 | `Email` varchar(255) DEFAULT NULL, 66 | `Enabled` int(11) DEFAULT NULL, 67 | PRIMARY KEY (`Name`) 68 | ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 69 | -------------------------------------------------------------------------------- /Log4Grid.Service.ConsoleApp/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /Log4Grid.Service.ConsoleApp/Log4Grid.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /Log4Grid.Service.ConsoleApp/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Log4Grid.Service.ConsoleApp 7 | { 8 | class Program 9 | { 10 | private static LogServer mServer; 11 | static void Main(string[] args) 12 | { 13 | mServer = new LogServer(); 14 | mServer.Open(); 15 | Console.Read(); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Log4Grid.Service.ConsoleApp/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // 有关程序集的常规信息通过以下 6 | // 特性集控制。更改这些特性值可修改 7 | // 与程序集关联的信息。 8 | [assembly: AssemblyTitle("Log4Grid.Service.ConsoleApp")] 9 | [assembly: AssemblyDescription("email:henryfan@msn.com")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("www.ikende.com")] 12 | [assembly: AssemblyProduct("Log4Grid.Service.ConsoleApp")] 13 | [assembly: AssemblyCopyright("Copyright © www.ikende.com 2014")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // 将 ComVisible 设置为 false 使此程序集中的类型 18 | // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型, 19 | // 则将该类型上的 ComVisible 特性设置为 true。 20 | [assembly: ComVisible(false)] 21 | 22 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID 23 | [assembly: Guid("93ef6d15-51fd-442f-88e3-eba62653e222")] 24 | 25 | // 程序集的版本信息由下面四个值组成: 26 | // 27 | // 主版本 28 | // 次版本 29 | // 内部版本号 30 | // 修订号 31 | // 32 | // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值, 33 | // 方法是按如下所示使用“*”: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /Log4Grid.Service.WinService/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Log4Grid.Service.WinService/Log4Grid.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /Log4Grid.Service.WinService/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.ServiceProcess; 5 | using System.Text; 6 | using System.ComponentModel; 7 | using System.Xml; 8 | using System.Configuration.Install; 9 | 10 | namespace Log4Grid.Service.WinService 11 | { 12 | static class Program 13 | { 14 | /// 15 | /// 应用程序的主入口点。 16 | /// 17 | static void Main() 18 | { 19 | ServiceBase[] ServicesToRun; 20 | ServicesToRun = new ServiceBase[] 21 | { 22 | new Log4GridService() 23 | }; 24 | ServiceBase.Run(ServicesToRun); 25 | } 26 | } 27 | [RunInstaller(true)] 28 | public class WindowsServiceInstaller : Installer 29 | { 30 | 31 | public WindowsServiceInstaller() 32 | { 33 | 34 | ServiceProcessInstaller serviceProcessInstaller = new ServiceProcessInstaller(); 35 | ServiceInstaller serviceInstaller = new ServiceInstaller(); 36 | 37 | 38 | serviceProcessInstaller.Account = ServiceAccount.LocalSystem; 39 | serviceProcessInstaller.Username = null; 40 | serviceProcessInstaller.Password = null; 41 | 42 | 43 | serviceInstaller.DisplayName = "Log4Grid Service"; 44 | serviceInstaller.StartType = ServiceStartMode.Automatic; 45 | 46 | 47 | serviceInstaller.ServiceName = "Log4Grid Service"; 48 | 49 | this.Installers.Add(serviceProcessInstaller); 50 | this.Installers.Add(serviceInstaller); 51 | } 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /Log4Grid.Service.WinService/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // 有关程序集的常规信息通过以下 6 | // 特性集控制。更改这些特性值可修改 7 | // 与程序集关联的信息。 8 | [assembly: AssemblyTitle("Log4Grid.Service.WinService")] 9 | [assembly: AssemblyDescription("email:henryfan@msn.com")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("www.ikende.com")] 12 | [assembly: AssemblyProduct("Log4Grid.Service.WinService")] 13 | [assembly: AssemblyCopyright("Copyright © www.ikende.com 2014")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // 将 ComVisible 设置为 false 使此程序集中的类型 18 | // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型, 19 | // 则将该类型上的 ComVisible 特性设置为 true。 20 | [assembly: ComVisible(false)] 21 | 22 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID 23 | [assembly: Guid("9dabce3c-0bc5-4511-bdab-9c0282ce7d5d")] 24 | 25 | // 程序集的版本信息由下面四个值组成: 26 | // 27 | // 主版本 28 | // 次版本 29 | // 内部版本号 30 | // 修订号 31 | // 32 | // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值, 33 | // 方法是按如下所示使用“*”: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /Log4Grid.Service.WinService/Service1.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace Log4Grid.Service.WinService 2 | { 3 | partial class Log4GridService 4 | { 5 | /// 6 | /// 必需的设计器变量。 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// 清理所有正在使用的资源。 12 | /// 13 | /// 如果应释放托管资源,为 true;否则为 false。 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 组件设计器生成的代码 24 | 25 | /// 26 | /// 设计器支持所需的方法 - 不要 27 | /// 使用代码编辑器修改此方法的内容。 28 | /// 29 | private void InitializeComponent() 30 | { 31 | components = new System.ComponentModel.Container(); 32 | this.ServiceName = "Service1"; 33 | } 34 | 35 | #endregion 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Log4Grid.Service.WinService/Service1.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Diagnostics; 6 | using System.Linq; 7 | using System.ServiceProcess; 8 | using System.Text; 9 | using Log4Grid.Service; 10 | namespace Log4Grid.Service.WinService 11 | { 12 | public partial class Log4GridService : ServiceBase 13 | { 14 | public Log4GridService() 15 | { 16 | InitializeComponent(); 17 | } 18 | 19 | 20 | private Log4Grid.Service.LogServer mLogServer; 21 | 22 | protected override void OnStart(string[] args) 23 | { 24 | try 25 | { 26 | Utils.Log.Info("Log4Grid Server Copyright @ www.ikende.com 2014 Version " + typeof(Log4GridService).Assembly.GetName().Version); 27 | Utils.Log.Info("Website:http://www.ikende.com"); 28 | Utils.Log.Info("Email:henryfan@msn.com"); 29 | mLogServer = new LogServer(); 30 | mLogServer.Open(); 31 | Utils.Log.InfoFormat("Log4Grid windows start at {0}", DateTime.Now); 32 | } 33 | catch (Exception e_) 34 | { 35 | Utils.Log.ErrorFormat("Log4Grid windows start error {0}", e_.Message); 36 | } 37 | } 38 | 39 | protected override void OnStop() 40 | { 41 | try 42 | { 43 | 44 | 45 | try 46 | { 47 | if (mLogServer != null) 48 | mLogServer.Dispose(); 49 | } 50 | catch (Exception e) 51 | { 52 | Utils.Log.ErrorFormat("Log4Grid server stop error {0}", e.Message); 53 | } 54 | 55 | 56 | Utils.Log.InfoFormat("Log4Grid windows service stop at {0}", DateTime.Now); 57 | } 58 | catch (Exception e_) 59 | { 60 | Utils.Log.ErrorFormat("Log4Grid windows service stop error {0}", e_.Message); 61 | } 62 | } 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /Log4Grid.Service.WinService/install.bat: -------------------------------------------------------------------------------- 1 | echo setup 2 | set DOTNETFX4=%SystemRoot%\Microsoft.NET\Framework\v4.0.30319 3 | set PATH=%PATH%;%DOTNETFX4% 4 | echo Installing Beetle server to winservice... 5 | echo --------------------------------------------------- 6 | InstallUtil /i Log4Grid.Service.WinService.exe 7 | echo --------------------------------------------------- 8 | echo Done. -------------------------------------------------------------------------------- /Log4Grid.Service.WinService/uninstall.bat: -------------------------------------------------------------------------------- 1 | echo setup 2 | set DOTNETFX4=%SystemRoot%\Microsoft.NET\Framework\v4.0.30319 3 | set PATH=%PATH%;%DOTNETFX4% 4 | echo UnInstalling beetle server... 5 | echo --------------------------------------------------- 6 | InstallUtil /u Log4Grid.Service.WinService.exe 7 | echo --------------------------------------------------- 8 | echo Done. -------------------------------------------------------------------------------- /Log4Grid.Service/Log4Grid.Service.csproj.user: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ShowAllFiles 5 | 6 | -------------------------------------------------------------------------------- /Log4Grid.Service/LogServer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Log4Grid.Config; 6 | 7 | namespace Log4Grid.Service 8 | { 9 | public class LogServer:IDisposable 10 | { 11 | private LogServerSection GetConfigSection(string sectionName) 12 | { 13 | LogServerSection result = null; 14 | 15 | System.Configuration.ExeConfigurationFileMap fm = new System.Configuration.ExeConfigurationFileMap(); 16 | fm.ExeConfigFilename = AppDomain.CurrentDomain.BaseDirectory + "Log4Grid.config"; 17 | System.Configuration.Configuration mDomainConfig = System.Configuration.ConfigurationManager.OpenMappedExeConfiguration(fm, System.Configuration.ConfigurationUserLevel.None); 18 | result = (LogServerSection)mDomainConfig.GetSection(sectionName); 19 | return result; 20 | } 21 | public LogServer() 22 | { 23 | LogServerSection section = GetConfigSection(LogServerSection.LogServerSectionSectionName); 24 | mServer = Beetle.Express.ServerFactory.CreateUDP(); 25 | mServer.Host = section.Host; 26 | mServer.Port = section.Port; 27 | mServer.SendBufferSize = 1024 * 64; 28 | mServer.ReceiveBufferSize = 1024 * 64; 29 | mServer.Handler = new MessageHandler(section.WorkThreads); 30 | } 31 | 32 | private Beetle.Express.IServer mServer; 33 | 34 | public void Open() 35 | { 36 | try 37 | { 38 | mServer.Open(); 39 | Utils.Log.InfoFormat("log server open {0}@{1} success", mServer.Host, mServer.Port); 40 | } 41 | catch (Exception e_) 42 | { 43 | Utils.Log.ErrorFormat("log server open error {0}", e_.Message); 44 | } 45 | } 46 | 47 | public void Dispose() 48 | { 49 | if (mServer != null) 50 | mServer.Dispose(); 51 | } 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /Log4Grid.Service/LogServerSection.csd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /Log4Grid.Service/LogServerSection.csd.config: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 12 | 13 | 14 | 15 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Log4Grid.Service/LogServerSection.csd.diagram: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Log4Grid.Service/LogServerSection.csd.xsd: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | The Host. 18 | 19 | 20 | 21 | 22 | The Port. 23 | 24 | 25 | 26 | 27 | The WorkThreads. 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /Log4Grid.Service/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // 有关程序集的常规信息通过以下 6 | // 特性集控制。更改这些特性值可修改 7 | // 与程序集关联的信息。 8 | [assembly: AssemblyTitle("Log4Grid.Service")] 9 | [assembly: AssemblyDescription("email:henryfan@msn.com")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("www.ikende.com")] 12 | [assembly: AssemblyProduct("Log4Grid.Service")] 13 | [assembly: AssemblyCopyright("Copyright © www.ikende.com 2014")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // 将 ComVisible 设置为 false 使此程序集中的类型 18 | // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型, 19 | // 则将该类型上的 ComVisible 特性设置为 true。 20 | [assembly: ComVisible(false)] 21 | 22 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID 23 | [assembly: Guid("2938f027-2b96-4683-8aea-3ee07787ae73")] 24 | 25 | // 程序集的版本信息由下面四个值组成: 26 | // 27 | // 主版本 28 | // 次版本 29 | // 内部版本号 30 | // 修订号 31 | // 32 | // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值, 33 | // 方法是按如下所示使用“*”: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /Log4Grid.Service/Utils.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Log4Grid.Service 7 | { 8 | public class Utils 9 | { 10 | static Utils() 11 | { 12 | log4net.Config.XmlConfigurator.Configure(); 13 | } 14 | public static log4net.ILog Log 15 | { 16 | get 17 | { 18 | return log4net.LogManager.GetLogger("LogServer"); 19 | } 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Log4Grid.Sqlite/DBModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Peanut.Mappings; 6 | namespace Log4Grid.Sqlite 7 | { 8 | [Table("Application")] 9 | interface IDBApplication 10 | { 11 | [ID] 12 | [Peanut.Mappings.UID] 13 | string ID { get; set; } 14 | [Column] 15 | string Name { get; set; } 16 | [Column] 17 | string Remark { get; set; } 18 | } 19 | [Table("Host")] 20 | interface IDBHost 21 | { 22 | [ID] 23 | [Peanut.Mappings.UID] 24 | string ID { get; set; } 25 | [Column] 26 | string AppID { get; set; } 27 | [Column] 28 | string Name 29 | { 30 | get; 31 | set; 32 | } 33 | [Column] 34 | string CpuUsage 35 | { 36 | get; 37 | set; 38 | } 39 | [Column] 40 | string MemoryUsage 41 | { 42 | get; 43 | set; 44 | } 45 | [Column] 46 | DateTime LastActiveTime { get; set; } 47 | } 48 | [Table("Log")] 49 | interface IDBLog 50 | { 51 | [ID] 52 | [UID] 53 | string ID { get; set; } 54 | [Column] 55 | string Host 56 | { 57 | get; 58 | set; 59 | } 60 | [Column] 61 | string App 62 | { 63 | get; 64 | set; 65 | } 66 | [Column] 67 | DateTime CreateTime 68 | { 69 | get; 70 | set; 71 | } 72 | [Column] 73 | string Content 74 | { 75 | get; 76 | set; 77 | } 78 | [Column] 79 | [EnumToInt] 80 | Log4Grid.Models.LogType Type 81 | { 82 | get; 83 | set; 84 | } 85 | } 86 | [Table("User")] 87 | interface IDBUser 88 | { 89 | [ID] 90 | string Name { get; set; } 91 | [Column] 92 | [StringCrypto("log4grid")] 93 | string Password { get; set; } 94 | [Column] 95 | string Email { get; set; } 96 | [Column] 97 | [BoolToInt] 98 | bool Enabled { get; set; } 99 | } 100 | 101 | } 102 | -------------------------------------------------------------------------------- /Log4Grid.Sqlite/Log4Grid.Sqlite.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | AnyCPU 6 | 8.0.30703 7 | 2.0 8 | {4EACB43E-513D-40AA-BD28-41AB1DBDABAD} 9 | Library 10 | Properties 11 | Log4Grid.Sqlite 12 | Log4Grid.Sqlite 13 | v4.0 14 | 512 15 | 16 | 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | pdbonly 27 | true 28 | bin\Release\ 29 | TRACE 30 | prompt 31 | 4 32 | 33 | 34 | 35 | False 36 | ..\Lib\Peanut.dll 37 | 38 | 39 | 40 | 41 | ..\Lib\System.Data.SQLite.dll 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | {B17756D8-86C7-4F22-BFAF-6EB0E9D2913A} 60 | Log4Grid.DataAccess 61 | 62 | 63 | {BB987F99-5A87-46A6-8C55-C0DF116A792B} 64 | Log4Grid.Interfaces 65 | 66 | 67 | {77AC7897-D0A5-45C4-8CC8-17B33D820740} 68 | Log4Grid.Models 69 | 70 | 71 | 72 | 79 | -------------------------------------------------------------------------------- /Log4Grid.Sqlite/Log4Grid.Sqlite.csproj.user: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ShowAllFiles 5 | 6 | -------------------------------------------------------------------------------- /Log4Grid.Sqlite/LogSearchHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Peanut; 6 | namespace Log4Grid.Sqlite 7 | { 8 | public class LogSearch4Sqlite:Log4Grid.DataAccess.LogSearchHandlerBase 9 | { 10 | protected override bool Exists(string table) 11 | { 12 | SQL sql = "SELECT count(*) FROM sqlite_master WHERE name =@p1 and type='table'"; 13 | sql = sql["p1", table]; 14 | return sql.GetValue(DB) > 0; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Log4Grid.Sqlite/LogStoreHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Peanut; 6 | using System.Security.Cryptography; 7 | 8 | namespace Log4Grid.Sqlite 9 | { 10 | public class LogStore4Sqlite : Log4Grid.DataAccess.LogStoreHandlerBase 11 | { 12 | protected override bool Exists(string table) 13 | { 14 | SQL sql = "SELECT count(*) FROM sqlite_master WHERE name =@p1 and type='table'"; 15 | sql = sql["p1", table]; 16 | return sql.GetValue(DB) > 0; 17 | } 18 | 19 | protected override void OnCreateTable(string table) 20 | { 21 | SQL sql = string.Format(@"CREATE TABLE [{0}] ( 22 | [ID] VARCHAR(50), 23 | [App] VARCHAR(50), 24 | [Host] VARCHAR(50), 25 | [Type] INT, 26 | [Content] TEXT, 27 | [CreateTime] DATETIME); 28 | 29 | CREATE INDEX [{0}_index_createtime] ON [{0}] ([CreateTime] DESC);", table); 30 | sql.Execute(DB); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Log4Grid.Sqlite/Management4Sqlite.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Peanut; 6 | namespace Log4Grid.Sqlite 7 | { 8 | public class Management4Sqlite:Log4Grid.DataAccess.ManagementBase 9 | { 10 | 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Log4Grid.Sqlite/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // 有关程序集的常规信息通过以下 6 | // 特性集控制。更改这些特性值可修改 7 | // 与程序集关联的信息。 8 | [assembly: AssemblyTitle("Log4Grid.Sqlite")] 9 | [assembly: AssemblyDescription("email:henryfan@msn.com")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("www.ikende.com")] 12 | [assembly: AssemblyProduct("Log4Grid.Sqlite")] 13 | [assembly: AssemblyCopyright("Copyright © www.ikende.com 2014")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // 将 ComVisible 设置为 false 使此程序集中的类型 18 | // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型, 19 | // 则将该类型上的 ComVisible 特性设置为 true。 20 | [assembly: ComVisible(false)] 21 | 22 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID 23 | [assembly: Guid("cf5784f8-06c9-4ce5-8116-1ff7d339e809")] 24 | 25 | // 程序集的版本信息由下面四个值组成: 26 | // 27 | // 主版本 28 | // 次版本 29 | // 内部版本号 30 | // 修订号 31 | // 32 | // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值, 33 | // 方法是按如下所示使用“*”: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /Log4Grid.Sqlite/SqliteDriver.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Log4Grid.Sqlite 6 | { 7 | public class SqliteDriver : Peanut.DriverTemplate< 8 | System.Data.SQLite.SQLiteConnection, 9 | System.Data.SQLite.SQLiteCommand, 10 | System.Data.SQLite.SQLiteDataAdapter, 11 | System.Data.SQLite.SQLiteParameter, 12 | Peanut.SqlitBuilder> 13 | { 14 | } 15 | 16 | 17 | 18 | } 19 | -------------------------------------------------------------------------------- /Log4Grid.Sqlite/UserHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Peanut; 6 | 7 | namespace Log4Grid.Sqlite 8 | { 9 | public class User4Sqlite:Log4Grid.DataAccess.UserHandlerBase 10 | { 11 | 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Log4Grid.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/Log4Grid.suo -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Log4Grid 2 | ======== 3 | 4 | Distributed Application Log Management 5 | Demo http://l4g.ikende.com 6 | -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.Mvc.4.0.20710.0/Microsoft.AspNet.Mvc.4.0.20710.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/packages/Microsoft.AspNet.Mvc.4.0.20710.0/Microsoft.AspNet.Mvc.4.0.20710.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.Mvc.4.0.20710.0/lib/net40/System.Web.Mvc.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/packages/Microsoft.AspNet.Mvc.4.0.20710.0/lib/net40/System.Web.Mvc.dll -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.Razor.2.0.20710.0/Microsoft.AspNet.Razor.2.0.20710.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/packages/Microsoft.AspNet.Razor.2.0.20710.0/Microsoft.AspNet.Razor.2.0.20710.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.Razor.2.0.20710.0/lib/net40/System.Web.Razor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/packages/Microsoft.AspNet.Razor.2.0.20710.0/lib/net40/System.Web.Razor.dll -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebApi.4.0.20710.0/Microsoft.AspNet.WebApi.4.0.20710.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/packages/Microsoft.AspNet.WebApi.4.0.20710.0/Microsoft.AspNet.WebApi.4.0.20710.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebApi.Client.4.0.20710.0/Microsoft.AspNet.WebApi.Client.4.0.20710.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/packages/Microsoft.AspNet.WebApi.Client.4.0.20710.0/Microsoft.AspNet.WebApi.Client.4.0.20710.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebApi.Client.4.0.20710.0/lib/net40/System.Net.Http.Formatting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/packages/Microsoft.AspNet.WebApi.Client.4.0.20710.0/lib/net40/System.Net.Http.Formatting.dll -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebApi.Core.4.0.20710.0/Microsoft.AspNet.WebApi.Core.4.0.20710.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/packages/Microsoft.AspNet.WebApi.Core.4.0.20710.0/Microsoft.AspNet.WebApi.Core.4.0.20710.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebApi.Core.4.0.20710.0/content/web.config.transform: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebApi.Core.4.0.20710.0/lib/net40/System.Web.Http.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/packages/Microsoft.AspNet.WebApi.Core.4.0.20710.0/lib/net40/System.Web.Http.dll -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebApi.WebHost.4.0.20710.0/Microsoft.AspNet.WebApi.WebHost.4.0.20710.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/packages/Microsoft.AspNet.WebApi.WebHost.4.0.20710.0/Microsoft.AspNet.WebApi.WebHost.4.0.20710.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebApi.WebHost.4.0.20710.0/lib/net40/System.Web.Http.WebHost.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/packages/Microsoft.AspNet.WebApi.WebHost.4.0.20710.0/lib/net40/System.Web.Http.WebHost.dll -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebPages.2.0.20710.0/Microsoft.AspNet.WebPages.2.0.20710.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/packages/Microsoft.AspNet.WebPages.2.0.20710.0/Microsoft.AspNet.WebPages.2.0.20710.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.Helpers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.Helpers.dll -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.WebPages.Deployment.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.WebPages.Deployment.dll -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.WebPages.Deployment.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | System.Web.WebPages.Deployment 5 | 6 | 7 | 8 | Provides a registration point for pre-application start code for Web Pages deployment. 9 | 10 | 11 | Registers pre-application start code for Web Pages deployment. 12 | 13 | 14 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. 15 | 16 | 17 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. 18 | 19 | 20 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. 21 | 22 | 23 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. 24 | 25 | 26 | The path of the root directory for the application. 27 | 28 | 29 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. 30 | 31 | 32 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. 33 | 34 | 35 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. 36 | 37 | 38 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. 39 | 40 | 41 | -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.WebPages.Razor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.WebPages.Razor.dll -------------------------------------------------------------------------------- /packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.WebPages.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.WebPages.dll -------------------------------------------------------------------------------- /packages/Microsoft.Net.Http.2.0.20710.0/Microsoft.Net.Http.2.0.20710.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/packages/Microsoft.Net.Http.2.0.20710.0/Microsoft.Net.Http.2.0.20710.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.Net.Http.2.0.20710.0/lib/net40/System.Net.Http.WebRequest.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/packages/Microsoft.Net.Http.2.0.20710.0/lib/net40/System.Net.Http.WebRequest.dll -------------------------------------------------------------------------------- /packages/Microsoft.Net.Http.2.0.20710.0/lib/net40/System.Net.Http.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/packages/Microsoft.Net.Http.2.0.20710.0/lib/net40/System.Net.Http.dll -------------------------------------------------------------------------------- /packages/Microsoft.Net.Http.2.0.20710.0/lib/net45/_._: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/Microsoft.Web.Infrastructure.1.0.0.0/Microsoft.Web.Infrastructure.1.0.0.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/packages/Microsoft.Web.Infrastructure.1.0.0.0/Microsoft.Web.Infrastructure.1.0.0.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.Web.Infrastructure.1.0.0.0/lib/net40/Microsoft.Web.Infrastructure.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/packages/Microsoft.Web.Infrastructure.1.0.0.0/lib/net40/Microsoft.Web.Infrastructure.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.4.5.6/Newtonsoft.Json.4.5.6.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/packages/Newtonsoft.Json.4.5.6/Newtonsoft.Json.4.5.6.nupkg -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.4.5.6/lib/net40/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beetlex-io/Log4Grid/9ea2a950bf9212d84cb10c60695aac78f618f3bc/packages/Newtonsoft.Json.4.5.6/lib/net40/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/repositories.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | --------------------------------------------------------------------------------