Deprecated: Function get_magic_quotes_gpc() is deprecated in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 99

Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 619

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 832

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
(window.webpackJsonp=window.webpackJsonp||[]).push([[166],{459:function(t,s,a){"use strict";a.r(s);var e=a(7),n=Object(e.a)({},(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("div",{staticClass:"pb-8 border-b border-gray-300"},[a("h1",[t._v("Contributte Logging")]),t._v(" "),a("div"),t._v(" "),a("div",{staticClass:"flex flex-col space-y-2 mt-2"},[a("div",{staticClass:"flex flex-row space-x-2 items-center"},[a("img",{staticClass:"opacity-50",attrs:{loading:"lazy",src:"https://obr.vercel.app/fa/b/github/16"}}),t._v(" "),a("a",{attrs:{href:"https://github.com/contributte/logging"}},[t._v("github.com/contributte/logging")])]),t._v(" "),a("div",{staticClass:"flex flex-row space-x-2 items-center"},[a("img",{staticClass:"opacity-50",attrs:{loading:"lazy",src:"https://obr.vercel.app/fa/s/download/16"}}),t._v(" "),a("a",{attrs:{href:"https://packagist.org/packages/contributte/logging",target:"_blank"}},[t._v("packagist.org/packages/contributte/logging")])])])]),t._v(" "),a("h2",{attrs:{id:"content"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#content"}},[t._v("#")]),t._v(" Content")]),t._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"#tracy"}},[t._v("Tracy - universal logging")])]),t._v(" "),a("li",[a("a",{attrs:{href:"#slack"}},[t._v("Slack - send exeptions to channel")])]),t._v(" "),a("li",[a("a",{attrs:{href:"#sentry"}},[t._v("Sentry - send exceptions to Sentry")])])]),t._v(" "),a("h2",{attrs:{id:"tracy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tracy"}},[t._v("#")]),t._v(" Tracy")]),t._v(" "),a("p",[t._v("First of all, we need to register our universal tuned logger for the future purpose.")]),t._v(" "),a("div",{staticClass:"language-neon line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-neon"}},[a("code",[a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("extensions")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n\t"),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("logging")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token literal string"}},[t._v("Contributte\\Logging\\DI\\TracyLoggingExtension")]),t._v("\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br"),a("span",{staticClass:"line-number"},[t._v("2")]),a("br")])]),a("p",[t._v("After that, we need to setup "),a("code",[t._v("logDir")]),t._v(".")]),t._v(" "),a("div",{staticClass:"language-neon line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-neon"}},[a("code",[a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("logging")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n\t"),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("logDir")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token literal string"}},[t._v("%appDir%/../log")]),t._v("\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br"),a("span",{staticClass:"line-number"},[t._v("2")]),a("br")])]),a("p",[t._v("Basically, it overrides Tracy's default logger by our universal, pluggable logger.")]),t._v(" "),a("p",[t._v("Original logger is still in DIC with "),a("code",[t._v("logging.originalLogger")]),t._v(" key.")]),t._v(" "),a("h3",{attrs:{id:"default-loggers"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#default-loggers"}},[t._v("#")]),t._v(" Default loggers")]),t._v(" "),a("p",[t._v("There are 3 types of loggers defined by default.")]),t._v(" "),a("ul",[a("li",[a("strong",[t._v("FileLogger")]),t._v(" - creates "),a("code",[t._v(".log")]),t._v(" file")]),t._v(" "),a("li",[a("strong",[t._v("BlueScreenFileLogger")]),t._v(" - creates exception-*.html from all throwable")]),t._v(" "),a("li",[a("strong",[t._v("SendMailLogger")]),t._v(" - sends throwable/message to email")])]),t._v(" "),a("p",[t._v("You can redefine these loggers in "),a("code",[t._v("logging.loggers")]),t._v(".")]),t._v(" "),a("div",{staticClass:"language-neon line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-neon"}},[a("code",[a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("logging")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n\t"),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("loggers")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n\t\t"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token literal string"}},[t._v("Contributte\\Logging\\FileLogger")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token literal string"}},[t._v("%logDir%")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\t\t"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token literal string"}},[t._v("Contributte\\Logging\\BlueScreenFileLogger")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token literal string"}},[t._v("%logDir%")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\t\t"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token literal string"}},[t._v("Contributte\\Logging\\SendMailLogger")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n\t\t\t"),a("span",{pre:!0,attrs:{class:"token literal string"}},[t._v("Contributte\\Logging\\Mailer\\TracyMailer")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n\t\t\t\t"),a("span",{pre:!0,attrs:{class:"token literal string"}},[t._v("from@email")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token literal string"}},[t._v("to@email")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token literal string"}},[t._v("to2@email")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n\t\t\t"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t"),a("span",{pre:!0,attrs:{class:"token literal string"}},[t._v("%logDir%")]),t._v("\n\t\t"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\t\t"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token literal string"}},[t._v("App\\Model\\MyCustomerLogger")]),t._v("\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br"),a("span",{staticClass:"line-number"},[t._v("2")]),a("br"),a("span",{staticClass:"line-number"},[t._v("3")]),a("br"),a("span",{staticClass:"line-number"},[t._v("4")]),a("br"),a("span",{staticClass:"line-number"},[t._v("5")]),a("br"),a("span",{staticClass:"line-number"},[t._v("6")]),a("br"),a("span",{staticClass:"line-number"},[t._v("7")]),a("br"),a("span",{staticClass:"line-number"},[t._v("8")]),a("br"),a("span",{staticClass:"line-number"},[t._v("9")]),a("br"),a("span",{staticClass:"line-number"},[t._v("10")]),a("br"),a("span",{staticClass:"line-number"},[t._v("11")]),a("br"),a("span",{staticClass:"line-number"},[t._v("12")]),a("br")])]),a("p",[t._v("This configuration is functionally equal to original Tracy's logger, only separated to multiple classes.")]),t._v(" "),a("h4",{attrs:{id:"sendmaillogger"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#sendmaillogger"}},[t._v("#")]),t._v(" SendMailLogger")]),t._v(" "),a("p",[t._v("Our SendMailLogger also allows configure priority levels.")]),t._v(" "),a("div",{staticClass:"language-neon line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-neon"}},[a("code",[a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("services")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n\t"),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("sendMaillogger")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n\t\t"),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("setup")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n\t\t\t"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token literal string"}},[t._v("setAllowedPriority")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n\t\t\t\t"),a("span",{pre:!0,attrs:{class:"token literal string"}},[t._v("Contributte\\Logging\\ILogger::WARNING")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t"),a("span",{pre:!0,attrs:{class:"token literal string"}},[t._v("Contributte\\Logging\\ILogger::ERROR")]),t._v("\n\t\t\t"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br"),a("span",{staticClass:"line-number"},[t._v("2")]),a("br"),a("span",{staticClass:"line-number"},[t._v("3")]),a("br"),a("span",{staticClass:"line-number"},[t._v("4")]),a("br"),a("span",{staticClass:"line-number"},[t._v("5")]),a("br"),a("span",{staticClass:"line-number"},[t._v("6")]),a("br"),a("span",{staticClass:"line-number"},[t._v("7")]),a("br")])]),a("h3",{attrs:{id:"custom-logger"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#custom-logger"}},[t._v("#")]),t._v(" Custom logger")]),t._v(" "),a("p",[t._v("To create your custom logger you have to implement "),a("code",[t._v("Contributte\\Logging\\ILogger")]),t._v(".")]),t._v(" "),a("div",{staticClass:"language-php line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-php"}},[a("code",[a("span",{pre:!0,attrs:{class:"token php language-php"}},[a("span",{pre:!0,attrs:{class:"token delimiter important"}},[t._v("//")]),t._v("\n\t"),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("channel")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token literal string"}},[t._v("tracy")]),t._v("\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br"),a("span",{staticClass:"line-number"},[t._v("2")]),a("br"),a("span",{staticClass:"line-number"},[t._v("3")]),a("br")])]),a("h3",{attrs:{id:"formatters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#formatters"}},[t._v("#")]),t._v(" Formatters")]),t._v(" "),a("p",[t._v("By default, there are 5 formatters for your slack-channel-pleasure.")]),t._v(" "),a("p",[t._v("You can disable it like this:")]),t._v(" "),a("div",{staticClass:"language-neon line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-neon"}},[a("code",[a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("slack")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n\t"),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("formatters")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br"),a("span",{staticClass:"line-number"},[t._v("2")]),a("br")])]),a("p",[t._v("And configure your own formatters. They will be loaded automatically, if\nyou implement needed interface ("),a("code",[t._v("Contributte\\Logging\\Slack\\Formatter\\IFormatter")]),t._v(").")]),t._v(" "),a("div",{staticClass:"language-neon line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-neon"}},[a("code",[a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("services")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n\t"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token literal string"}},[t._v("App\\Slack\\MySuperTrouperFormatter")]),t._v("\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br"),a("span",{staticClass:"line-number"},[t._v("2")]),a("br")])]),a("h4",{attrs:{id:"contributte-logging-slack-formatter-contextformatter"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#contributte-logging-slack-formatter-contextformatter"}},[t._v("#")]),t._v(" "),a("code",[t._v("Contributte\\Logging\\Slack\\Formatter\\ContextFormatter")])]),t._v(" "),a("ul",[a("li",[t._v("Setup "),a("code",[t._v("context")]),t._v(" with all configured data (channel, icon, etc).")])]),t._v(" "),a("h4",{attrs:{id:"contributte-logging-slack-formatter-colorformatter"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#contributte-logging-slack-formatter-colorformatter"}},[t._v("#")]),t._v(" "),a("code",[t._v("Contributte\\Logging\\Slack\\Formatter\\ColorFormatter")])]),t._v(" "),a("ul",[a("li",[a("code",[t._v("danger")]),t._v(" -> "),a("code",[t._v("ILogger::CRITICAL")])]),t._v(" "),a("li",[a("code",[t._v("#ff0000")]),t._v(" -> "),a("code",[t._v("ILogger::EXCEPTION")])]),t._v(" "),a("li",[a("code",[t._v("warning")]),t._v(" -> "),a("code",[t._v("ILogger::ERROR")])])]),t._v(" "),a("h4",{attrs:{id:"contributte-logging-slack-formatter-exceptionformatter"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#contributte-logging-slack-formatter-exceptionformatter"}},[t._v("#")]),t._v(" "),a("code",[t._v("Contributte\\Logging\\Slack\\Formatter\\ExceptionFormatter")])]),t._v(" "),a("p",[a("img",{attrs:{src:"https://raw.githubusercontent.com/contributte/logging/master/.docs/assets/formatter-exception.png",alt:"ContextFormatter"}})]),t._v(" "),a("h4",{attrs:{id:"contributte-logging-slack-formatter-exceptionpreviousexceptionsformatter"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#contributte-logging-slack-formatter-exceptionpreviousexceptionsformatter"}},[t._v("#")]),t._v(" "),a("code",[t._v("Contributte\\Logging\\Slack\\Formatter\\ExceptionPreviousExceptionsFormatter")])]),t._v(" "),a("p",[a("img",{attrs:{src:"https://raw.githubusercontent.com/contributte/logging/master/.docs/assets/formatter-previous-exceptions.png",alt:"ContextFormatter"}})]),t._v(" "),a("h4",{attrs:{id:"contributte-logging-slack-formatter-exceptionstacktraceformatter"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#contributte-logging-slack-formatter-exceptionstacktraceformatter"}},[t._v("#")]),t._v(" "),a("code",[t._v("Contributte\\Logging\\Slack\\Formatter\\ExceptionStackTraceFormatter")])]),t._v(" "),a("p",[a("img",{attrs:{src:"https://raw.githubusercontent.com/contributte/logging/master/.docs/assets/formatter-stack-trace.png",alt:"ContextFormatter"}})]),t._v(" "),a("h2",{attrs:{id:"sentry"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#sentry"}},[t._v("#")]),t._v(" Sentry")]),t._v(" "),a("div",{staticClass:"language-neon line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-neon"}},[a("code",[a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("extensions")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n\t"),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("logging")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token literal string"}},[t._v("Contributte\\Logging\\DI\\TracyLoggingExtension")]),t._v("\n\t"),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("sentry")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token literal string"}},[t._v("Contributte\\Logging\\DI\\SentryLoggingExtension")]),t._v("\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br"),a("span",{staticClass:"line-number"},[t._v("2")]),a("br"),a("span",{staticClass:"line-number"},[t._v("3")]),a("br")])]),a("p",[t._v("This extension requires to have sentry installed.")]),t._v(" "),a("div",{staticClass:"language-bash line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[t._v("composer")]),t._v(" require sentry/sdk:"),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"^2.0"')]),t._v("\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])]),a("p",[t._v("Now you should go to project Settings page -> Client Keys (DSN) section.\nThere you obtained DNS url. Put the url into neon file.")]),t._v(" "),a("div",{staticClass:"language-neon line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-neon"}},[a("code",[a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("sentry")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n\t"),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("url")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token literal string"}},[t._v("https://@sentry.io/")]),t._v("\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br"),a("span",{staticClass:"line-number"},[t._v("2")]),a("br")])]),a("p",[a("code",[t._v("SentryLoggingExtension")]),t._v(" adds "),a("code",[t._v("SentryLogger")]),t._v(" with url configuration. It works as "),a("a",{attrs:{href:"#sendmaillogger"}},[t._v("SendMailLogger")]),t._v(".")]),t._v(" "),a("p",[t._v("It means that it sends messages/throwable with "),a("code",[t._v("ILogger::ERROR")]),t._v(", "),a("code",[t._v("ILogger::EXCEPTION")]),t._v(", "),a("code",[t._v("ILogger::CRITICAL")]),t._v(" priorities.")]),t._v(" "),a("p",[t._v("But if you need other priorities, you can change configuration.")]),t._v(" "),a("div",{staticClass:"language-neon line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-neon"}},[a("code",[a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("services")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n\t"),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("sentry.logger")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n\t\t"),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("setup")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n\t\t\t"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token literal string"}},[t._v("setAllowedPriority")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n\t\t\t\t"),a("span",{pre:!0,attrs:{class:"token literal string"}},[t._v("Contributte\\Logging\\ILogger::WARNING")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t"),a("span",{pre:!0,attrs:{class:"token literal string"}},[t._v("Contributte\\Logging\\ILogger::ERROR")]),t._v("\n\t\t\t"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br"),a("span",{staticClass:"line-number"},[t._v("2")]),a("br"),a("span",{staticClass:"line-number"},[t._v("3")]),a("br"),a("span",{staticClass:"line-number"},[t._v("4")]),a("br"),a("span",{staticClass:"line-number"},[t._v("5")]),a("br"),a("span",{staticClass:"line-number"},[t._v("6")]),a("br"),a("span",{staticClass:"line-number"},[t._v("7")]),a("br")])])])}),[],!1,null,null,null);s.default=n.exports}}]);