sınıf Diagnostics::Logging::MemoryLogger

Sdk'nın bellek içi arabelleğe oturum açmasını denetlemek için statik yöntemlere sahip sınıf. Konuşma SDK'sı senaryonuzu çalıştırırken günlüğe kaydetmeyi açmak, SDK'nın temel yerel bileşenlerinden ayrıntılı bilgi sağlar. Microsoft'a bir sorun bildirirseniz, Microsoft'un sorunu tanılamasına yardımcı olmak için günlükler sağlamanız istenebilir. Bir SDK sürümünden diğerine bildirimde bulunmadan değiştirilebileceği için uygulamanız belirli günlük dizelerine bağımlılık almamalıdır. MemoryLogger, beklenmeyen bir olay gerçekleşmeden önce kısa sürede alınan günlüklere erişmek istediğiniz durum için tasarlanmıştır. Örneğin, bir Konuşma Tanıma çalıştırıyorsanız, bir hata nedeniyle tanımanın iptal edildiğine dair bir olay aldıktan sonra MemoryLogger'ın dökümünü almak isteyebilirsiniz. Bellek arabelleğinin boyutu 2 MB'da sabittir ve değiştirilemez. Bu bir "halka" arabelleğidir, yani yazılan yeni günlük dizeleri arabellekteki en eskilerin yerini alır. Sürüm 1.20.0'da eklendi.

Bellek günlüğü, işlem genelinde bir yapıdır. Bu, (örneğin) paralel olarak çalışan birden çok konuşma tanıyıcı nesneniz varsa, tüm tanıyıcıların ara günlüklerini içeren bir bellek arabelleği olacağı anlamına gelir. Her tanıyıcı için ayrı bir günlük alamazsınız.

Üyeler

Başlangıç

Sözdizimi: public inline static void Start ( );

İç bellek arabelleğinde oturum açmayı başlatır.

Durdur

Sözdizimi: public inline static void Stop ( );

İç bellek arabelleğinde oturum açmayı durdurur.

SetFilters

Sözdizimi: public inline static void SetFilters ( std::initializer_list< std::string > filters );

Bellek günlüğü için filtreleri ayarlar veya temizler. Filtreler ayarlandıktan sonra, bellek günlükçü yalnızca filtreler tarafından belirtilen dizelerden en az birini içeren günlük dizeleriyle güncelleştirilir. Eşleşme büyük/küçük harfe duyarlıdır.

Parametreler

  • filters İsteğe bağlı. Kullanılacak filtreler veya önceden ayarlanmış filtreleri kaldırmak için boş bir liste.

Çöplük

Sözdizimi: public inline static void Dump ( const SPXSTRING & filePath );

Bellek arabelleğinin tamamının içeriğini belirtilen dosyaya yazar. Diğer SDK iş parçacıklarının arabelleğe oturum açmaya devam etmelerini engellemez.

Parametreler

  • Yerel diskte günlük dosyasının yolunu filePath.

Bu işlem bellek arabelleği sıfırlamaz (temizlemez).

Çöplük

Sözdizimi: public inline static void Dump ( std::ostream & outStream );

Tüm bellek arabelleğinin içeriğini std::ostream uygulayan bir nesneye yazar. Örneğin, std::cout (konsol çıkışı için). Diğer SDK iş parçacıklarının arabelleğe oturum açmaya devam etmelerini engellemez.

Parametreler

  • yazacak std::ostream nesnesini outStream.

Bu işlem bellek arabelleği sıfırlamaz (temizlemez).

Çöplük

Sözdizimi: public inline static std::vector< std::string > Dump ( );

Tüm bellek arabelleğinin içeriğini dizelerin vektörleri olarak döndürür. Diğer SDK iş parçacıklarının arabelleğe oturum açmaya devam etmelerini engellemez.

İade

Bellek arabelleğinin içeriğinin içine kopyalanmış olduğu bir vektör.

Bu işlem bellek arabelleği sıfırlamaz (temizlemez).

SetLevel

Sözdizimi: public inline static void SetLevel ( Level level );

Günlükçü tarafından yakalanacak iletilerin düzeyini ayarlar.

Parametreler

  • level Günlükçü tarafından yakalanacak maksimum ayrıntı düzeyi.