Kurzusok
/
C#
C#
/
Feladatok
/
Logelemzés
Logelemzés

Logelemzés

Tanulófeladat

Bevezetés

Bővítő metódusok

A bővítő metódusokkal metódusokat adhatsz meglévő típusokhoz anélkül, hogy új származtatott típust hoznál létre, újrafordítanád a kódot, vagy más módon módosítanád az eredeti típust. Statikus metódusként definiálod őket, de példánymetódus-szintaxissal hívod meg. Az első paraméterük előtt a this módosító szerepel, amely megadja, hogy a metódus melyik típuson működik; a metódusok pedig a névtér szintjén bekerülnek a scope-ba.

public static int WordCount(this string str)
{
    return str.Split().Length;
}

"Hello World".WordCount();
// => 2

Utasítások

Ebben a feladatban naplósorokkal fogsz dolgozni.

Minden naplósor egy string, amelynek formátuma a következő: "[<LEVEL>]: <MESSAGE>".

Három különböző naplózási szint van:

  • INFO
  • WARNING
  • ERROR

Több részfeladat vár rád, és mindegyik kap egy naplósort, amelyikkel valamit tenned kell.

1. Egy adott részstring utáni szöveg kinyerése

Ha megnézed az elmúlt hónap naplóit, láthatod, hogy a tesztüzenet mindig egy adott részstring után található. Mivel számítasz rá, hogy a közeljövőben ki kell majd nyerned a tesztüzenetet, úgy döntesz, írsz egy segédmetódust, amely ebben segít.

Valósítsd meg a (static) LogAnalysis.SubstringAfter() bővítőmetódust, amely átvesz egy string elválasztót, és visszaadja az elválasztó utáni részstringet.

var log = "[INFO]: File Deleted.";
log.SubstringAfter(": "); // => returns "File Deleted."

2. A két részstring közötti szöveg kinyerése

Ha jobban megnézed, láthatod, hogy a naplózási szint mindig szögletes zárójelek ([ és ]) között található. Mivel arra is számítasz, hogy előbb-utóbb ki kell nyerned a naplózási szintet, úgy döntesz, írsz még egy segédmetódust, amely ebben segít.

Valósítsd meg a (static) LogAnalysis.SubstringBetween() bővítőmetódust, amely átvesz két string elválasztót, és visszaadja a két elválasztó közötti részstringet.

var log = "[INFO]: File Deleted.";
log.SubstringBetween("[", "]"); // => returns "INFO"

3. Az üzenet kinyerése egy naplósorból

Valósítsd meg a (static) LogAnalysis.Message() bővítőmetódust, amely visszaadja a naplósorban található üzenetet.

var log = "[ERROR]: Missing ; on line 20.";
log.Message(); // => returns "Missing ; on line 20."

4. A naplózási szint kinyerése egy naplósorból

Valósítsd meg a (static) LogAnalysis.LogLevel() bővítőmetódust, amely visszaadja egy naplósor naplózási szintjét.

var log = "[ERROR]: Missing ; on line 20.";
log.LogLevel(); // => returns "ERROR"
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
C# Exercism

Készen állsz elkezdeni a(z) Logelemzés feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) C# nyelvet 62 fogalom178 feladat segítségével, valódi emberi mentorálással, mindez ingyen.