{"id":22768,"date":"2025-08-26T13:40:02","date_gmt":"2025-08-26T16:40:02","guid":{"rendered":"https:\/\/king.host\/wiki\/?post_type=article&#038;p=22768"},"modified":"2025-08-26T13:40:03","modified_gmt":"2025-08-26T16:40:03","slug":"asp-net-core-logs","status":"publish","type":"article","link":"https:\/\/king.host\/wiki\/artigo\/asp-net-core-logs\/","title":{"rendered":"ASP.NET Core Logs"},"content":{"rendered":"\n<p>Diferente do ASP &#8220;comum&#8221;, o ASP.NET Core nos possibilita diversas novas fun\u00e7\u00f5es, dentre elas o <strong>ASP.NET Core Logs<\/strong>, que s\u00e3o os logs de erro, para a identifica\u00e7\u00e3o de erros relacionados a execu\u00e7\u00e3o da sua aplica\u00e7\u00e3o ASP.NET core. Sobre o uso de ASP.NET Core em nossa estrutura, <a href=\"https:\/\/king.host\/wiki\/artigo\/asp-net-core-kinghost\/\" target=\"_blank\" rel=\"noreferrer noopener ugc\" title=\"clique aqui\">clique aqui<\/a>.<\/p>\n\n\n\n<p>Uma aplica\u00e7\u00e3o ASP.NET Core \u00e9 caracterizada por utilizar uma linha conforme abaixo no arquivo de configura\u00e7\u00e3o da sua aplica\u00e7\u00e3o, web.config:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;pre&gt;\n&lt;aspNetCore processPath=\"dotnet\"\n    arguments=\".\\nome-projeto.dll\"\n    stdoutLogEnabled=\"false\"\n    stdoutLogFile=\".\\logs\\stdout\"\n&lt;\/pre&gt;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Como ativar o ASP.NET Core Logs<\/h2>\n\n\n\n<p>Neste conjunto de passos \u00e9 explicado como \u00e9 feita a ativa\u00e7\u00e3o dos logs:<\/p>\n\n\n\n<p>1 &#8211; Crie uma pasta chamada <strong>logs<\/strong> no mesmo n\u00edvel do web.config;<\/p>\n\n\n\n<p>2 &#8211; Alterar o campo &#8220;<strong>stdoutLogEnabled<\/strong>&#8221; de &#8220;false&#8221; para &#8220;<strong>true<\/strong>&#8221; no arquivo web.config;<\/p>\n\n\n\n<p>3 &#8211; Caso n\u00e3o exista essa informa\u00e7\u00e3o, adicione mais c\u00f3digo a este campo de modo que fique da seguinte forma:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;pre&gt;\n&lt;aspNetCore processPath=\"dotnet\"\n    arguments=\".\\MyApp.dll\"\n    stdoutLogEnabled=\"false\"\n    stdoutLogFile=\".\\logs\\stdout\"\n    hostingModel=\"inprocess\"&gt;\n  &lt;handlerSettings&gt;\n    &lt;handlerSetting name=\"debugFile\" value=\".\\logs\\aspnetcore-debug.log\" \/&gt;\n    &lt;handlerSetting name=\"debugLevel\" value=\"FILE,TRACE\" \/&gt;\n  &lt;\/handlerSettings&gt;\n&lt;\/aspNetCore&gt;\n\n&lt;\/pre&gt;<\/code><\/pre>\n\n\n\n<p>4 &#8211; Ap\u00f3s isto, quando a aplica\u00e7\u00e3o for acessada ser\u00e3o criados arquivos dentro do diret\u00f3rio de log com o prefixo &#8220;<strong>stdout<\/strong>&#8220;.<\/p>\n\n\n\n<p>Uma vez que se possui os logs \u00e9 poss\u00edvel analisar de forma detalhada as causas para o erro que esteja ocorrendo na aplica\u00e7\u00e3o.<\/p>\n\n\n\n<p>Exemplos de erros comuns que podem ocorrer:<\/p>\n\n\n\n<p><strong>1) <em>Failed to determine the https port for redirect<\/em>.<\/strong><\/p>\n\n\n\n<p>O erro em quest\u00e3o no log fica desta forma:<\/p>\n\n\n\n<p class=\"has-background\" style=\"background-color:#cfcfcf\">warn: Microsoft.AspNetCore.DataProtection.Repositories.EphemeralXmlRepository[50] Using an in-memory repository. Keys will not be persisted to storage.<br>warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[59] Neither user profile nor HKLM registry available. Using an ephemeral key repository. Protected data will be unavailable when application exits.<br>warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35] No XML encryptor configured. Key {b899dba6-409b-4aba-ad7f-9f6c1554d98f} may be persisted to storage in unencrypted form.<br>Hosting environment: Production<br>Content root path: d:\\web\\localuser\\horticon\\www\\api<br>Now listening on: http:\/\/127.0.0.1:27066<br>Application started. Press Ctrl+C to shut down.<br>warn: Microsoft.AspNetCore.HttpsPolicy.HttpsRedirectionMiddleware[3]<br><strong>Failed to determine the https port for redirect.<\/strong><br>Application is shutting down&#8230;<\/p>\n\n\n\n<p>Este erro ocorre devido o dom\u00ednio n\u00e3o possuir o HTTPS ativo. A indica\u00e7\u00e3o \u00e9 <a href=\"https:\/\/king.host\/wiki\/artigo\/instalar-certificado-ssl-lets-encrypt\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"ativar o Let's Encrypt\">ativar o Let&#8217;s Encrypt<\/a>, e uma vez que ele esteja funcional, testar novamente e acompanhar o log de erro, pois pode ser gerado um erro novo.<\/p>\n\n\n\n<p><strong>2) <em>Could not load file or assembly<\/em>.<\/strong><\/p>\n\n\n\n<p>O erro em quest\u00e3o no log fica desta forma:<\/p>\n\n\n\n<p class=\"has-background\" style=\"background-color:#cfcfcf\">Unhandled Exception: System.IO.FileLoadException:&nbsp;<strong>Could not load file or assembly<\/strong>&nbsp;&#8216;Microsoft.AspNetCore, Version=2.1.3.0, Culture=neutral, PublicKeyToken=adb9793829ddae60&#8217;.<br>The located assembly&#8217;s manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) at API.Program.CreateWebHostBuilder(String[] args) at API.Program.Main(String[] args) in C:\\Users\\smunari\\Source\\Workspaces\\horticon-backend\\Horticon\\API\\Program.cs:line 17<\/p>\n\n\n\n<p>O erro acima pode ocorrer por dois motivos, o assembly n\u00e3o est\u00e1 no FTP no diret\u00f3rio BIN, ou at\u00e9 mesmo como no caso acima, ele est\u00e1 referenciando uma DLL local (C:\\Users&#8230;) ao inv\u00e9s de utilizar os arquivos no servidor (D:\\web\\localuser\\dominio\\)<\/p>\n\n\n\n<p><strong>3) At\u00e9 mesmo comandos SQL podem ser retornados pelo ASP.NET Core de forma detalhada, como o caso abaixo:<\/strong><\/p>\n\n\n\n<p class=\"has-background\" style=\"background-color:#cfcfcf\">fail: Microsoft.EntityFrameworkCore.Database.Command[20102] Failed executing DbCommand (6ms) [Parameters=[@p2=&#8217;?&#8217; (Size = 127), @p3=&#8217;?&#8217; (Size = 8000)], CommandType=&#8217;Text&#8217;, CommandTimeout=&#8217;30&#8217;] DELETE FROM &#8216;AspNetUsers&#8217; WHERE &#8216;Id&#8217; = @p2 AND &#8216;ConcurrencyStamp&#8217; = @p3; SELECT ROW_COUNT(); MySql.Data.MySqlClient.MySqlException (0x80004005):&nbsp;<strong>Cannot delete or update a parent row: a foreign key constraint fails (&#8216;bahiavale03&#8242;.&#8217;usuario&#8217;, CONSTRAINT &#8216;FK_usuario_AspNetUsers&#8217; FOREIGN KEY (&#8216;cod_usuario&#8217;) REFERENCES &#8216;AspNetUsers&#8217; (&#8216;Id&#8217;) ON DELETE NO ACTION ON UPDATE NO ACTION) &#8212;&gt; MySql.Data.MySqlClient.MySqlException (0x80004005): Cannot delete or update a parent row: a foreign key constraint fails (&#8216;bahiavale03&#8242;.&#8217;usuario&#8217;, CONSTRAINT &#8216;FK_usuario_AspNetUsers&#8217; FOREIGN KEY (&#8216;cod_usuario&#8217;) REFERENCES &#8216;AspNetUsers&#8217; (&#8216;Id&#8217;) ON DELETE NO ACTION ON UPDATE NO ACTION)<\/strong><br>at MySqlConnector.Protocol.PayloadData.ThrowIfError() in C:\\projects\\mysqlconnector\\src\\MySqlConnector\\Protocol\\PayloadData.cs:line 19<br>at MySqlConnector.Core.ServerSession.TryAsyncContinuation(Task&#8217;1 task) in C:\\projects\\mysqlconnector\\src\\MySqlConnector\\Core\\ServerSession.cs:line 870<br>at System.Threading.Tasks.ContinuationResultTaskFromResultTask&#8217;2.InnerInvoke()<br>at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)<br>at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task&amp; currentTaskSlot)<\/p>\n\n\n\n<p><\/p>\n","protected":false},"author":630,"featured_media":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","article-category":[25],"article-tag":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article\/22768"}],"collection":[{"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article"}],"about":[{"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/types\/article"}],"author":[{"embeddable":true,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/users\/630"}],"replies":[{"embeddable":true,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/comments?post=22768"}],"version-history":[{"count":1,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article\/22768\/revisions"}],"predecessor-version":[{"id":26843,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article\/22768\/revisions\/26843"}],"wp:attachment":[{"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/media?parent=22768"}],"wp:term":[{"taxonomy":"article-category","embeddable":true,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article-category?post=22768"},{"taxonomy":"article-tag","embeddable":true,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article-tag?post=22768"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}