Maison  >  Article  >  développement back-end  >  .NET Core crée un programme console

.NET Core crée un programme console

Y2J
Y2Joriginal
2018-05-23 15:07:556386parcourir

Cet article présente principalement en détail comment .NET Core crée un programme console, qui a une certaine valeur de référence. Les amis intéressés peuvent s'y référer

Version .NET Core : 1.0-rc2

<.>Version Visual Studio : Microsoft Visual Studio Community 2015 Update 2

Plateforme de développement et d'exécution : Windows 7 Professional Edition Service Pack 1

Nouveau projet de console (ConsoleLogApp)

Ajouter des dépendances dans le fichier

project.json

{
 "version": "1.0.0-*",
 "buildOptions": {
  "emitEntryPoint": true
 },

 "dependencies": {
  "Microsoft.NETCore.App": {
   "type": "platform",
   "version": "1.0.0-rc2-3002702"
  },
  "Microsoft.Extensions.DependencyInjection": "1.0.0-rc2-final",
  "Microsoft.Extensions.Logging": "1.0.0-rc2-final",
  "Microsoft.Extensions.Logging.Console": "1.0.0-rc2-final",
  "Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-final",
  "System.Text.Encoding": "4.0.11-rc2-24027",
  "System.Text.Encoding.CodePages": "4.0.1-rc2-24027"
 },

 "frameworks": {
  "netcoreapp1.0": {
   "imports": "dnxcore50"
  }
 }
}

Nouveau fichier de configuration de sortie de journal ( log.json)

L'objectif principal de notre programme console est d'imprimer et de générer des journaux, donc un fichier de configuration de journal distinct est utilisé ici pour enregistrer les options de journaux pertinentes, telles que : inclure ou non le contexte, le plus bas. niveau de sortie du journal, etc.

{
 "IncludeScopes": false,
 "LogLevel": {
  "App": "Warning"
 }
}
IncludeScopes est faux afin que la sortie du journal de la console n'inclue pas de contexte ; le niveau le plus bas de LogLevel est défini sur : Avertissement, uniquement supérieur à ce niveau. Le journal sera sortir. App est le CategoryName du journal.

Programme d'entrée

using System;
using Microsoft.Extensions.Configuration;
using System.Text;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;

namespace ConsoleLogApp
{
  public class Program
  {
    public static void Main(string[] args)
    {
      // 支持中文编码
      Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

      // 加载日志配置文件
      var setttins = new ConfigurationBuilder().AddJsonFile("log.json").Build();

      // 创建ConsoleLogProvider并根据日志类目名称(CategoryName)生成Logger实例
      var logger = new ServiceCollection().AddLogging().BuildServiceProvider().GetService<ILoggerFactory>().AddConsole(setttins).CreateLogger("App");

      // 设置事件ID
      const int eventId = 888888;

      // 输出正常提示日志
      logger.LogInformation(eventId, "订单号({OderNo})", "12345678000");

      // 输出警示日志
      logger.LogWarning(eventId, "待处理订单数达到5分钟内的预警值:{max}", 2000);

      // 输出错误日志
      logger.LogError(eventId, "数据库连接超时");

      Console.ReadLine();
    }
  }
}

Utilisez "dotnet recovery" pour restaurer les dépendances

Remplacez les dépendances actuelles dans Git Bash Basculez le répertoire vers le répertoire racine du projet (dans cet exemple : D:ConsoleLogApp)

La commande dotnet restaurer est utilisée pour rechercher le fichier projet (project.json) dans le répertoire courant, puis utiliser le Bibliothèque NuGet pour restaurer l'intégralité du projet Bibliothèques dépendantes, puis parcourir chaque répertoire pour générer des fichiers de projet et continuer à restaurer les dépendances dans les fichiers de projet.

Utilisez "dotnet build" pour compiler l'intégralité du projet

Une fois la compilation terminée réussi, nous Le dossier compilé (D:ConsoleLogAppbinDebugnetcoreapp1.0) a été trouvé dans le répertoire bin sous le répertoire racine du projet. Une fois la commande exécutée avec succès, un répertoire Debug a été généré et un dossier nommé d'après le nom de l'application (netcoreapp1. 0, ce nom est configuré dans project.json)

Utilisez "dotnet run" pour exécuter le programme

Nous pouvons Cela peut être vu que les journaux de sortie au niveau information sont filtrés et que seuls les journaux au-dessus de l'avertissement sont générés.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn