Added API layer logging
This commit is contained in:
parent
544df78ac8
commit
76c3787107
@ -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/},
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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
Loading…
Reference in New Issue
Block a user