Added API layer logging

This commit is contained in:
kunkliricsi 2020-12-02 21:41:01 +01:00
parent 544df78ac8
commit 76c3787107
5 changed files with 2335 additions and 2129 deletions

View File

@ -43,6 +43,11 @@
url = {https://code.visualstudio.com/},
}
@misc{nglog,
title = {Az NLog hivatalos oldala},
url = {https://nlog-project.org/},
}
@misc{react,
title = {A React.js hivatalos oldala},
url = {https://reactjs.org/},

View File

@ -13,7 +13,7 @@ Ha a rendszer úgy észleli, hogy az egyik álatala vezérelt eszköz mikrofonja
akkor riasztást kezdeményez az eszközön ezzel elijesztve a madarat ezáltal megóvva a növényzetet.
A rendszernek több kisebb komponense van, amelyek rengeteg adatot dolgoznak fel és nincs jelenleg egy olyan egységes grafikus felület ahol a rendszer teljes állapotát
át lehetne tekinteni, illetve ahol a feldolgozott adatokat vizualizálni lehetne.
át lehetne tekinteni, ahol a feldolgozott adatokat vizualizálni lehetne.
A piacon létezik már több olyan szoftver csomag, amely hasonló problémákra próbál megoldást nyújtani, de ezek sem mindig
tudják kielégíteni azokat a speciális igényeket, amelyek egy ilyen rendszernél felmerülnek.
@ -41,7 +41,7 @@ If the system detects a bird's voice on the recording of a microphone on one of
an alarm on the device scaring the bird away thereby protecting the vegetation.
The system has several smaller components that process a lot of data and currently there is no unified graphical user interface where the overall state of the system
could be reviewed or where the processed data could be visualized.
could be reviewed, where the processed data could be visualized.
There are already several software packages on the market that try to solve similar problems,
however they aren't always able to meet the special needs that arise with such a system.

View File

@ -15,7 +15,6 @@ A szerveroldal fejlesztésénél a háromrétegú architektúrát alkalmaztam, m
A fenti két réteg között helyezkedik el és feladata a különböző folyamatok értékelése és futtatása, valamint az adatok feldolgozása.
\end{itemize}
\lstset{language=C,keywordstyle={\bfseries \color{blue}}}
Az ASP.NET Core beépítetten támogatja a dependency injection-t, mely a \verb+Startup+ osztály \verb+ConfigureServices+ metódusával konfigurálható.
Én minden rétegbe tettem egy ilyen \verb+Startup+ osztályt, hogy azok feleljenek a saját szolgáltatásaik konfigurálásáért és regisztrálásáért.
@ -90,12 +89,36 @@ ha igen, akkor a megadott jelszóból az imént említett folyamattal generált
%----------------------------------------------------------------------------
\section{Megjelenítési réteg}
%----------------------------------------------------------------------------
A fejezet elején említett \verb+Startup+ osztály ebben a rétegben található, itt kerülnek az egyes szolgáltatások regisztrálásra.
Többek között a naplózás is itt kerül inicializálásra, mely az NLog saját konfigurációs fájljával történik.
Meg lehet adni különböző szűrőket és kimeneteket, amellyel szelektálni lehet, hogy az egyes naplózott események hova kerüljenek.
Például az MQTT szolgáltalás napló bejegyzéseit a \ref{lst:nlog-config} lista alapján szűrtem.
Minden \verb+Debug+ szintől nagyobb és \verb+Error+ szinttől kisebb bejegyzés, mely tartalmazza az \verb+Mqtt+ kulcsszót az \verb+mqttFile+ azonosítójú fájlba kerül.
\lstset{style=xml, morekeywords={targets, target, xsi:type, name, fileName, layout, rules, logger, name, minlevel, maxlevel, writeTo, final}}
\begin{lstlisting}[caption=Az NLog.config fájl egy részlete, label=lst:nlog-config]
<targets>
...
<target xsi:type="File" name="mqttFile" fileName="${basedir}Logs/birdmap-mqtt-${shortdate}.log"
layout="..." />
...
</targets>
<rules>
...
<logger name="*.*Mqtt*.*" minlevel="Trace" maxlevel="Warning" writeTo="mqttFile" final="true"/>
...
</rules>
\end{lstlisting}
%
program.cs startup.cs
middlewares
logolás
seedelés
swagger
%----------------------------------------------------------------------------
\subsection{Szolgáltatások}
\subsection{Kommunikációs Szolgáltatások}
%----------------------------------------------------------------------------
mqtt
signalR

View File

@ -79,6 +79,12 @@ A szerver valós időben tud értesítéseket küldeni a kliensek számára, ame
%----------------------------------------------------------------------------
Az MQTT.NET is egy .NET szoftvercsomag, mely a Birdnetes által is használt, a \ref{subsect:mqtt}-es alfejezetben bemutatott MQTT kommunikáció C\# nyelvű megvalósítását szolgálja.
%----------------------------------------------------------------------------
\subsection{NLog}
%----------------------------------------------------------------------------
A szerveroldali naplózás megvalósítására több szoftvercsomag is létezik. Az NLog\cite{nlog}-ot választottam, egyrészt mert egyszerű a használata,
másrészt mert már használtam korábban.
%----------------------------------------------------------------------------
\section{Frontend technológiák}
%----------------------------------------------------------------------------

File diff suppressed because it is too large Load Diff