Καταγραφή και παρακολούθηση στην ανάπτυξη εφαρμογών για κινητά: ουσία, εργαλεία και πώς να ρυθμίσετε

Συγγραφέας: IT Sectr Δημοσιεύτηκε: 2026-05-27 Χρόνος ανάγνωσης: 8 λεπ

Η καταγραφή και η παρακολούθηση είναι δύο πυλώνες σταθερότητας της εφαρμογής για κινητά. Σύμφωνα με την Gartner (2025), η αγορά λύσεων APM θα φτάσει τα 8 δισεκατομμύρια δολάρια έως το 2027. Η σωστή καταγραφή επιτρέπει όχι μόνο την εύρεση σφαλμάτων, αλλά και την πρόβλεψη προβλημάτων προτού επηρεάσουν τους χρήστες.

Βασικά σημεία

  • Στο iOS, τα κύρια εργαλεία είναι το os_log (ενσωματωμένη καταγραφή συστήματος) και το CocoaLumberjack (ευέλικτη βιβλιοθήκη με περιστροφή και μορφοποίηση). Η παρακολούθηση στο iOS επιτρέπει τον έλεγχο της απόδοσης σε πραγματικό χρόνο.
  • Στο Android, το πρότυπο είναι το Timber (ένα περιτύλιγμα πάνω από το Logcat) και το σύστημα Log. Το Timber εισάγει αυτόματα την ετικέτα κλάσης και διαχειρίζεται τα επίπεδα καταγραφής.
  • Δομημένη καταγραφή — εγγραφή αρχείων καταγραφής σε JSON. Επιτρέπει την αυτόματη ανάλυση αρχείων καταγραφής μέσω ELK, Grafana ή Datadog. Συνιστάται για παραγωγή και αυτόματη παρακολούθηση.
  • APM (Application Performance Monitoring) — μια κατηγορία εργαλείων για την παρακολούθηση εφαρμογών για κινητά: New Relic, Datadog, Firebase Performance.
  • Η περιστροφή αρχείων καταγραφής και η απομακρυσμένη καταγραφή είναι υποχρεωτικές για την παραγωγή. Τα αρχεία καταγραφής δεν πρέπει να γεμίζουν τη μνήμη της συσκευής και πρέπει να είναι προσβάσιμα στον προγραμματιστή εξ αποστάσεως.

Καταγραφή και παρακολούθηση στο iOS: os_log και CocoaLumberjack

Η καταγραφή εφαρμογών για κινητά στο iOS βασίζεται στο os_log — το ενσωματωμένο σύστημα της Apple, διαθέσιμο από το iOS 10. Το os_log γράφει αρχεία καταγραφής σε ένα ενιαίο αρχείο καταγραφής συστήματος (στη συσκευή ή μέσω του Console.app), υποστηρίζει κατηγορίες, επίπεδα και ετικέτες απορρήτου. Ο συνδυασμός καταγραφής και παρακολούθησης στο iOS μέσω του Console.app και του xcrun επιτρέπει την παρακολούθηση σφαλμάτων και απόδοσης σε πραγματικό χρόνο.

Log Level στο iOS

Το os_log έχει επίπεδα: Default, Info, Debug, Error, Fault. Στην παραγωγή διατηρούνται τα Error και Fault — τα Debug και Info απενεργοποιούνται. Η επιλογή του σωστού επιπέδου είναι μέρος της στρατηγικής παρακολούθησης εφαρμογών για κινητά στο iOS. Απόρρητο: %{public}@ για μη προστατευμένα δεδομένα, %{private}@ για προσωπικά δεδομένα.

CocoaLumberjack

CocoaLumberjack είναι μια δημοφιλής βιβλιοθήκη για καταγραφή στο iOS. Σε αντίθεση με το os_log, υποστηρίζει προσαρμοσμένες μορφές, ασύγχρονη εγγραφή και περιστροφή αρχείων καταγραφής. DDLog, DDTTYLogger (κονσόλα), DDFileLogger (αρχείο με περιστροφή). Για απομακρυσμένη παρακολούθηση, το CocoaLumberjack μπορεί να συνδυαστεί με το os_log — γράψτε σε ένα αρχείο για απομακρυσμένη καταγραφή και στο os_log για το Console.app.

Καταγραφή και παρακολούθηση στο Android: Timber και Log Level

Για την καταγραφή εφαρμογών για κινητά στο Android χρησιμοποιείται το Timber — μια βιβλιοθήκη του Jake Wharton που έχει γίνει το πρότυπο της πλατφόρμας. Το Timber είναι ένα περιτύλιγμα γύρω από το Android Log (Logcat) που προσθέτει αυτόματα την ετικέτα κλάσης και διαμορφώνει το Tree. Το Timber αποτελεί μέρος του συστήματος παρακολούθησης εφαρμογών για κινητά Android: DebugTree για εντοπισμό σφαλμάτων, CrashlyticsTree για αποστολή δεδομένων.

Timber λεπτομερώς

Το Timber χρησιμοποιεί Tree — ένα στοιχείο που αποφασίζει τι να κάνει με το αρχείο καταγραφής. Σε εκδόσεις εντοπισμού σφαλμάτων, DebugTree (έξοδος στο Logcat), σε release — CrashlyticsTree (αποστολή σφαλμάτων). Timber.wtf() καταγράφει θανατηφόρα σφάλματα. Timber.tag("CustomTag") παρακάμπτει την ετικέτα. Για αποτελεσματική παρακολούθηση, το Timber συνδυάζεται με εργαλεία APM.

Log Level στο Android

Android Log έχει επίπεδα: VERBOSE, DEBUG, INFO, WARN, ERROR, ASSERT. Το ProGuard/R8 αφαιρεί τα Log.d και Log.v στο release — το Timber επιτρέπει την καταγραφή μέσω του Plant. Η επιλογή επιπέδου επηρεάζει την ποιότητα παρακολούθησης της εφαρμογής για κινητά — στην παραγωγή διατηρούνται τα WARN και ERROR.

Εργαλείο Πλατφόρμα Μορφή Περιστροφή Απομακρυσμένο Πολυπλοκότητα
os_logiOSΔομημένοΣύστημαConsole.appΧαμηλή
CocoaLumberjackiOSΚείμενο/JSONDDFileLoggerΝαι (προσαρμοσμένο)Μεσαία
TimberAndroidΚείμενοLogcat/ΠροσαρμοσμένοTreeΧαμηλή
SentryiOS/AndroidJSONΔιακομιστήςΝαιΜεσαία
LogcatAndroidΚείμενοBufferADBΧαμηλή

Κατά την επιλογή ενός εργαλείου καταγραφής, λάβετε υπόψη: χρειάζεστε απομακρυσμένη καταγραφή, πόσο συχνά αλλάζουν τα αρχεία καταγραφής και ποιος θα τα αναλύει. Για νεοφυείς επιχειρήσεις, αρκούν το os_log ή το Timber. Για επιχειρήσεις — CocoaLumberjack με αποστολή στον διακομιστή. Στην IT Sectr, χρησιμοποιούμε τον συνδυασμό Timber + Crashlytics για Android και os_log + CocoaLumberjack για iOS.

Δομημένη Καταγραφή

Δομημένη καταγραφή — εγγραφή αρχείων καταγραφής σε μορφή JSON αντί για απλό κείμενο. Παράδειγμα: αντί για "User login failed" γράφουμε {"event": "login_failed", "user_id": 123, "reason": "invalid_password"}. Αυτή είναι η βάση για την αυτόματη παρακολούθηση — η στοίβα ELK και το Grafana φιλτράρουν, συγκεντρώνουν και αναλύουν τέτοια δεδομένα.

Πλεονεκτήματα της δομημένης καταγραφής

Φιλτράρισμα ανά πεδίο: βρείτε όλα τα αρχεία καταγραφής με event=crash την τελευταία ώρα. Συγκέντρωση: δημιουργήστε ένα γράφημα του αριθμού σφαλμάτων ανά έκδοση εφαρμογής. Ενσωμάτωση με ELK (Elasticsearch, Logstash, Kibana) ή Grafana. Η δομημένη καταγραφή δεν είναι υποχρεωτική για τις πρώτες εκδόσεις, αλλά γίνεται κρίσιμη όταν το DAU υπερβαίνει τις 10.000.

Απομακρυσμένη Καταγραφή και Περιστροφή Αρχείων Καταγραφής

Απομακρυσμένη καταγραφή — αποστολή αρχείων καταγραφής από τη συσκευή σε έναν διακομιστή για κεντρική παρακολούθηση. Υλοποιείται μέσω προσαρμοσμένου Tree (Android) ή αιτημάτων HTTP. Στείλτε μόνο Error και Warning — μην σπαταλάτε την κίνηση του χρήστη. Περιστροφή αρχείων καταγραφής: DDFileLogger (iOS) κάθε 1 MB ή 1 ημέρα. Στο Android, ο buffer του Logcat είναι περιορισμένος.

APM και παρακολούθηση εφαρμογών για κινητά: Sentry, New Relic, Datadog

Application Performance Monitoring (APM) — μια κατηγορία εργαλείων για την παρακολούθηση εφαρμογών για κινητά. Το APM μετρά: χρόνο εκκίνησης, αιτήματα δικτύου, FPS, χρήση μνήμης, συχνότητα σφαλμάτων. Κύριοι παίκτες: Sentry (Performance), New Relic Mobile, Datadog Mobile.

Sentry Performance

Sentry — όχι μόνο αναφορά σφαλμάτων, αλλά και παρακολούθηση απόδοσης. Το Sentry Performance δημιουργεί κατανεμημένα ίχνη που δείχνουν πόσο χρόνο διήρκησε κάθε στάδιο: από το πάτημα του κουμπιού έως την απάντηση του διακομιστή. Υποστηρίζει iOS, Android, Flutter, React Native. Δωρεάν έως 5k συμβάντα τον μήνα.

New Relic και Datadog

New Relic Mobile παρέχει μετρήσεις: αριθμός συνεδριών, χρόνος στην εφαρμογή, συχνότητα σφαλμάτων, αιτήματα δικτύου. Datadog Mobile — ένα πιο σύγχρονο εργαλείο με πίνακες ελέγχου σε πραγματικό χρόνο και ειδοποιήσεις. Και τα δύο είναι πληρωτέα, αλλά έχουν δωρεάν επίπεδα. Η IT Sectr συνιστά να ξεκινήσετε με το Firebase Performance και να μεταβείτε σε πληρωτέο APM όταν το DAU υπερβεί τις 100.000.

Firebase Performance

Firebase Performance — ένα δωρεάν εργαλείο παρακολούθησης εφαρμογών για κινητά από την Google. Συλλέγει αυτόματα μετρήσεις: χρόνο εκκίνησης εφαρμογής, αιτήματα HTTP (URL, μέθοδος, κωδικός απόκρισης), FPS. Για προσαρμοσμένη παρακολούθηση, χρησιμοποιήστε το Trace API. Ενσωμάτωση: προσθέστε το SDK στο build.gradle (Android) ή στο Podfile (iOS).

Trace και μετρήσεις

Trace — ένα χρονικό τμήμα με αρχή και τέλος που μετράτε. Παράδειγμα: trace = FirebasePerformance.getInstance().newTrace("checkout_process"). Μετρήσεις — αριθμητικοί δείκτες (μέγεθος απόκρισης, αριθμός στοιχείων). Το Firebase Performance δεν απαιτεί υποδομή διακομιστή — όλα τα δεδομένα περνούν μέσω του Firebase SDK. Κατά την παρακολούθηση εφαρμογών για κινητά, το Trace API παρέχει περιβάλλον για ανάλυση απόδοσης.

Συχνές Ερωτήσεις

Ποια επίπεδα καταγραφής υπάρχουν και πότε να τα χρησιμοποιείτε;

Τυπικά επίπεδα: ERROR (κρίσιμα σφάλματα), WARN (δυνητικά προβλήματα), INFO (βασικά συμβάντα), DEBUG (εντοπισμός σφαλμάτων), VERBOSE (λεπτομερής παρακολούθηση). Στην παραγωγή διατηρούνται τα ERROR, WARN και INFO, τα υπόλοιπα απενεργοποιούνται.

Πώς διαφέρει το Timber από το Logcat στο Android;

Timber είναι μια βιβλιοθήκη-περιτύλιγμα γύρω από το Logcat από τον Jake Wharton για καταγραφή εφαρμογών για κινητά στο Android. Εισάγει αυτόματα την ετικέτα κλάσης, διαμορφώνει το Tree και απενεργοποιεί τα αρχεία καταγραφής στην παραγωγή με μία γραμμή κώδικα.

Τι είναι το APM και γιατί το χρειάζεται μια εφαρμογή για κινητά;

APM (Application Performance Monitoring) — μια κατηγορία εργαλείων για την παρακολούθηση της απόδοσης: χρόνος εκκίνησης, αιτήματα δικτύου, χρήση μνήμης, συχνότητα σφαλμάτων. Κατά την παρακολούθηση εφαρμογών για κινητά, τα New Relic, Datadog και Firebase Performance βοηθούν στην εύρεση σημείων συμφόρησης πριν από τα παράπονα των χρηστών.

Πρέπει μια νεοφυής επιχείρηση να χρησιμοποιεί πληρωτέες λύσεις APM;

Για μια νεοφυή επιχείρηση, το Firebase Performance είναι αρκετό — ένα δωρεάν εργαλείο παρακολούθησης εφαρμογών για κινητά. Τα New Relic και Datadog συνδέονται όταν χρειάζεται λεπτομερής παρακολούθηση και προσαρμοσμένοι πίνακες ελέγχου. Η IT Sectr συνιστά να ξεκινήσετε με το Firebase και να μεταβείτε σε πληρωτέες λύσεις όταν το DAU υπερβεί τις 100.000.

Τι είναι η δομημένη καταγραφή και σε τι είναι καλύτερη από το απλό κείμενο;

Δομημένη καταγραφή είναι μια μορφή αρχείων καταγραφής σε JSON ή κλειδί-τιμή αντί για απλό κείμενο. Επιτρέπει το φιλτράρισμα αρχείων καταγραφής ανά πεδίο, τη δημιουργία γραφημάτων και την αυτόματη ανάλυση στο ELK ή στο Grafana. Χωρίς δομημένα αρχεία καταγραφής, είναι δύσκολο να βρεθούν μοτίβα σε χιλιάδες εγγραφές.

Σύνοψη

  • os_log — το βασικό εργαλείο καταγραφής και παρακολούθησης στο iOS. Το CocoaLumberjack προσθέτει ευελιξία, περιστροφή και απομακρυσμένη καταγραφή.
  • Timber — το πρότυπο καταγραφής εφαρμογών για κινητά στο Android. DebugTree για εντοπισμό σφαλμάτων, CrashlyticsTree για release.
  • Η δομημένη καταγραφή (JSON) είναι απαραίτητη για αυτόματη ανάλυση αρχείων καταγραφής. Ενσωματώνεται με ELK, Grafana, Datadog.
  • APM — Sentry Performance, New Relic, Datadog. Firebase Performance — δωρεάν εργαλείο παρακολούθησης εφαρμογών για κινητά για νεοφυείς επιχειρήσεις.
  • Η περιστροφή αρχείων καταγραφής αποτρέπει την υπερχείλιση της μνήμης της συσκευής. Διαμορφώστε το DDFileLogger (iOS) ή χρησιμοποιήστε τον buffer Logcat (Android).
  • Απομακρυσμένη καταγραφή — στείλτε μόνο αρχεία καταγραφής Error και Warning. Όλα τα αρχεία καταγραφής καταναλώνουν κίνηση του χρήστη.
  • Trace API και breadcrumbs (Sentry) παρέχουν περιβάλλον για παρακολούθηση εφαρμογών για κινητά, μετατρέποντας τα αρχεία καταγραφής σε ιστορία συμβάντος.

Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση

Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.

Συζήτηση έργου