Bagikan melalui


Memecahkan masalah aplikasi di Azure App Service menggunakan Visual Studio

Catatan

Artikel ini untuk Visual Studio 2019. Untuk pemecahan masalah di Visual Studio 2022, lihat Remote Debug ASP.NET Core di Azure App Service.

Gambaran Umum

Tutorial ini menunjukkan cara menggunakan alat Visual Studio untuk membantu men-debug aplikasi di App Service, dengan menjalankan mode debug dari jarak jauh atau dengan melihat log aplikasi dan log server web.

Anda akan mempelajari:

  • Fungsi manajemen aplikasi mana yang tersedia di Visual Studio.
  • Cara menggunakan tampilan jarak jauh Visual Studio untuk membuat perubahan cepat di aplikasi jarak jauh.
  • Cara menjalankan mode debug dari jarak jauh saat proyek berjalan di Azure, baik untuk aplikasi maupun untuk WebJob.
  • Cara membuat log jejak aplikasi dan melihatnya saat aplikasi sedang membuatnya.
  • Cara melihat log server web, termasuk pesan kesalahan terperinci dan penelusuran permintaan yang gagal.
  • Cara mengirim log diagnostik ke akun Azure Storage dan melihatnya di sana.

Jika Anda memiliki Visual Studio Ultimate, Anda juga dapat menggunakan IntelliTrace untuk penelusuran kesalahan. IntelliTrace tidak dibahas dalam tutorial ini.

Prasyarat

Tutorial ini berfungsi dengan lingkungan pengembangan, proyek web, dan aplikasi App Service yang Anda siapkan di Membuat aplikasi ASP.NET di Azure App Service. Untuk bagian WebJobs, Anda akan memerlukan aplikasi yang Anda buat di Mulai Menggunakan Azure WebJobs SDK.

Contoh kode yang ditampilkan dalam tutorial ini adalah untuk aplikasi web C# MVC, tetapi prosedur pemecahan masalahnya sama untuk aplikasi Visual Basic dan Web Forms.

Tutorial ini mengasumsikan Anda menggunakan Visual Studio 2019.

Fitur log streaming hanya berfungsi untuk aplikasi yang menargetkan .NET Framework 4 atau yang lebih baru.

Konfigurasi dan manajemen aplikasi

Visual Studio menyediakan akses ke subset fungsi manajemen aplikasi dan pengaturan konfigurasi yang tersedia di portal Microsoft Azure. Di bagian ini, Anda akan melihat apa yang tersedia dengan menggunakan Server Explorer. Untuk melihat fitur integrasi Azure terbaru, cobalah Cloud Explorer juga. Anda dapat membuka kedua jendela dari menu Tampilan.

  1. Jika Anda belum masuk ke Azure di Visual Studio, klik kanan Azure dan pilih Sambungkan ke Langganan Microsoft Azure di Server Explorer.

    Alternatifnya adalah memasang sertifikat manajemen yang memungkinkan akses ke akun Anda. Jika Anda memilih untuk memasang sertifikat, klik kanan simpul Azure di Server Explorer, lalu pilih Kelola dan Filter Langganan di menu konteks. Dalam kotak dialog Kelola Langganan Microsoft Azure, klik tab Sertifikat, lalu klik Impor. Ikuti petunjuk untuk mengunduh lalu mengimpor file langganan (juga disebut file .publishsettings) untuk akun Azure Anda.

    Catatan

    Jika Anda mengunduh file langganan, simpan ke folder di luar direktori kode sumber Anda (misalnya, di folder Unduhan), lalu hapus setelah impor selesai. Pengguna jahat yang mendapatkan akses ke file langganan dapat mengedit, membuat, dan menghapus layanan Azure Anda.

    Untuk informasi selengkapnya tentang menyambungkan ke sumber daya Azure dari Visual Studio, lihat Mengatur peran Azure menggunakan portal Microsoft Azure.

  2. Di Server Explorer, perluas Azure dan perluas App Service.

  3. Perluas grup sumber daya yang menyertakan aplikasi yang Anda buat di Membuat aplikasi ASP.NET di Azure App Service, lalu klik kanan simpul aplikasi dan klik Tampilkan Pengaturan.

    Tampilkan Pengaturan di Server Explorer

    Tab Azure Web App muncul, dan Anda bisa melihat ada tugas manajemen dan konfigurasi aplikasi yang tersedia di Visual Studio.

    Jendela Azure Web App

    Dalam tutorial ini, Anda akan menggunakan drop-down pengelogan dan pelacakan. Anda juga akan menggunakan penelusuran kesalahan jarak jauh tetapi Anda akan menggunakan metode yang berbeda untuk mengaktifkannya.

    Untuk informasi tentang kotak Pengaturan Aplikasi dan String Koneksi di jendela ini, lihat Azure App Service: Cara Kerja String Aplikasi dan String Koneksi.

    Jika Anda ingin melakukan tugas manajemen aplikasi yang tidak bisa dilakukan di jendela ini, klik Buka di Portal Manajemen untuk membuka jendela browser ke portal Microsoft Azure.

Mengakses file aplikasi di Server Explorer

Anda biasanya menyebarkan proyek web dengan bendera customErrors di file Web.config yang ditetapkan ke On atau RemoteOnly, yang berarti Anda tidak mendapatkan pesan kesalahan yang bermanfaat ketika terjadi kesalahan. Untuk banyak kesalahan, yang Anda dapatkan hanyalah halaman seperti salah satu yang berikut ini:

Kesalahan Server dalam Aplikasi '/':

Cuplikan layar memperlihatkan Kesalahan Server di kesalahan Aplikasi '/' di browser web.

Terjadi kesalahan:

Cuplikan layar memperlihatkan contoh kesalahan umum yang terjadi di browser web.

Situs web tidak bisa menampilkan halaman

Cuplikan layar memperlihatkan sebuah pesan yang berbunyi **Situs web tidak dapat menampilkan kesalahan halaman di browser web**.

Sering kali cara termudah untuk menemukan penyebab kesalahan adalah dengan mengaktifkan pesan kesalahan terperinci, yang caranya dijelaskan oleh cuplikan layar pertama sebelumnya. Itu memerlukan perubahan dalam file Web.config yang diterapkan. Anda dapat mengedit file Web.config dalam proyek dan menyebarkan ulang proyek, atau membuat transformasi Web.config dan menyebarkan build debug, tetapi ada cara yang lebih cepat: di Penjelajah Solusi, Anda dapat langsung melihat dan mengedit file di aplikasi jarak jauh dengan menggunakan fitur tampilan jarak jauh.

  1. Di Server Explorer, perluas Azure, perluas App Service, perluas grup sumber daya tempat aplikasi Anda berada, lalu perluas simpul untuk aplikasi Anda.

    Anda akan melihat simpul yang memberi Anda akses ke file konten dan file log aplikasi.

  2. Perluas simpul File, dan klik dua kali file Web.config.

    Buka Web.config

    Visual Studio membuka file Web.config dari aplikasi jarak jauh dan menampilkan [Jarak Jauh] di samping nama file di bilah judul.

  3. Tambahkan baris berikut ke elemen system.web:

    <customErrors mode="Off"></customErrors>

    Edit Web.config

  4. Refresh browser yang memperlihatkan pesan kesalahan yang tidak membantu, dan sekarang Anda mendapatkan pesan kesalahan terperinci, seperti contoh berikut:

    Pesan kesalahan terperinci

    (Kesalahan yang ditampilkan dibuat dengan menambahkan garis yang ditunjukkan dalam warna merah ke Views\Home\Index.cshtml.)

Mengedit file Web.config hanyalah salah satu contoh skenario di mana kemampuan untuk membaca dan mengedit file di aplikasi App Service Anda membuat pemecahan masalah menjadi lebih mudah.

Penelusuran kesalahan jarak jauh

Jika pesan kesalahan terperinci tidak memberikan informasi yang cukup, dan Anda tidak dapat membuat ulang kesalahan secara lokal, cara lain untuk memecahkan masalah adalah dengan menjalankan mode debug dari jarak jauh. Anda dapat mengatur titik henti, memanipulasi memori secara langsung, menelusuri kode, dan bahkan mengubah jalur kode.

Penelusuran kesalahan jarak jauh tidak berfungsi di Visual Studio edisi Ekspres.

Bagian ini memperlihatkan cara men-debug dari jarak jauh menggunakan proyek yang Anda buat di Membuat aplikasi ASP.NET di Azure App Service.

  1. Buka proyek web yang Anda buat di Membuat aplikasi ASP.NET di Azure App Service.

  2. Buka Pengontrol\HomeController.cs.

  3. Hapus metode About() dan masukkan kode berikut di tempatnya.

    public ActionResult About()
    {
        string currentTime = DateTime.Now.ToLongTimeString();
        ViewBag.Message = "The current time is " + currentTime;
        return View();
    }
    
  4. Atur titik henti pada baris ViewBag.Message.

  5. Di Penjelajah Solusi, klik kanan proyek dan pilih Terbitkan.

  6. Di daftar drop-down Profil, pilih profil yang sama dengan yang Anda gunakan di Membuat aplikasi ASP.NET di Azure App Service. Kemudian, klik Pengaturan.

  7. Dalam dialog Terbitkan, klik tab Pengaturan, lalu ubah Konfigurasi menjadi Debug, lalu klik Simpan.

    Terbitkan dalam mode debug

  8. Klik Publikasikan. Setelah penyebaran selesai dan browser Anda terbuka ke URL Azure aplikasi Anda, tutup browser.

  9. Di Server Explorer, klik kanan aplikasi Anda, lalu klik Lampirkan Debugger.

    Cuplikan layar jendela Server Explorer yang memperlihatkan aplikasi yang dipilih lalu mengeklik Lampirkan Debugger.

    Browser secara otomatis terbuka ke halaman beranda Anda yang berjalan di Azure. Anda mungkin harus menunggu 20 detik atau lebih saat Azure menyiapkan server untuk penelusuran kesalahan. Penundaan ini hanya terjadi saat pertama kali Anda menjalankan mode debug pada aplikasi dalam periode 48 jam. Ketika Anda memulai penelusuran kesalahan lagi dalam periode yang sama, tidak ada penundaan.

    Catatan

    Jika Anda mengalami masalah saat memulai debugger, cobalah melakukannya dengan menggunakan Cloud Explorer, alih-alih Server Explorer.

  10. Klik Tentang di menu.

    Visual Studio berhenti di titik henti, dan kode berjalan di Azure, bukan di komputer lokal Anda.

  11. Arahkan mouse ke atas variabel currentTime untuk melihat nilai waktu.

    Menampilkan variabel dalam mode debug yang berjalan di Azure

    Waktu yang Anda lihat adalah waktu server Azure, yang mungkin berada di zona waktu yang berbeda dari komputer lokal Anda.

  12. Masukkan nilai baru untuk variabel currentTime, seperti "Sekarang berjalan di Azure".

  13. Tekan F5 untuk melanjutkan.

    Halaman Tentang yang berjalan di Azure menampilkan nilai baru yang Anda masukkan ke dalam variabel currentTime.

    Tentang halaman dengan nilai baru

Penelusuran kesalahan Azure WebJobs jarak jauh

Bagian ini memperlihatkan cara men-debug dari jarak jauh menggunakan proyek dan aplikasi yang Anda buat di Mulai Menggunakan Azure WebJobs SDK.

Fitur yang ditampilkan di bagian ini hanya tersedia di Visual Studio 2013 dengan Pembaruan 4 atau yang lebih baru.

Penelusuran kesalahan jarak jauh hanya berfungsi dengan WebJobs berkelanjutan. WebJobs terjadwal dan sesuai permintaan tidak mendukung proses penelusuran kesalahan.

  1. Buka proyek web yang Anda buat di Mulai Menggunakan Azure WebJobs SDK.

  2. Dalam proyek ContosoAdsWebJob, buka Functions.cs.

  3. Atur titik henti pada pernyataan pertama dalam metode GenerateThumbnail.

    Mengatur titik henti

  4. Di Penjelajah Solusi, klik kanan proyek web (bukan proyek WebJob), dan klik Terbitkan.

  5. Di daftar drop-down Profil, pilih profil yang sama dengan yang Anda gunakan di Mulai Menggunakan Azure WebJobs SDK.

  6. Klik tab Pengaturan, dan ubah Konfigurasi menjadi Debug, lalu klik Terbitkan.

    Visual Studio menyebarkan proyek web dan WebJob, dan browser Anda terbuka ke URL Azure aplikasi Anda.

  7. Di Server Explorer, perluas Azure > App Service > grup sumber daya Anda > aplikasi Anda > WebJobs > Berkelanjutan, lalu klik kanan Pekerjaan WebContosoAds.

  8. Klik Lampirkan Debugger.

    Cuplikan layar Server Explorer memperlihatkan ContosoAdsWebJob yang dipilih di menu drop-down dan Lampirkan Debugger yang dipilih.

    Browser secara otomatis terbuka ke halaman beranda Anda yang berjalan di Azure. Anda mungkin harus menunggu 20 detik atau lebih saat Azure menyiapkan server untuk penelusuran kesalahan. Penundaan ini hanya terjadi saat pertama kali Anda menjalankan mode debug pada aplikasi dalam periode 48 jam. Ketika Anda memulai penelusuran kesalahan lagi dalam periode yang sama, tidak ada penundaan.

  9. Di browser web yang dibuka ke halaman beranda Iklan Contoso, buat iklan baru.

    Membuat iklan menyebabkan pesan antrean dibuat, yang diambil oleh WebJob dan diproses. Ketika WebJobs SDK memanggil fungsi untuk memproses pesan antrean, kode mengenai titik henti Anda.

  10. Saat debugger pecah di titik henti, Anda dapat memeriksa dan mengubah nilai variabel saat program menjalankan cloud. Dalam ilustrasi berikut, debugger menunjukkan isi objek blobInfo yang diteruskan ke metode GenerateThumbnail.

    objek blobInfo dalam debugger

  11. Tekan F5 untuk melanjutkan.

    Metode GenerateThumbnail selesai membuat gambar mini.

  12. Di browser, refresh halaman Indeks dan Anda akan melihat gambar mini.

  13. Di Visual Studio, tekan SHIFT+F5 untuk menghentikan penelusuran kesalahan.

  14. Di Server Explorer, klik kanan simpul ContosoAdsWebJob dan klik Tampilkan Dasbor.

  15. Masuk dengan kredensial Azure Anda, lalu klik nama WebJob untuk masuk ke halaman untuk WebJob Anda.

    Klik ContosoAdsWebJob

    Dasbor menunjukkan bahwa fungsi GenerateThumbnail yang dijalankan baru-baru ini.

    (Saat Anda mengeklik Tampilkan Dasbor, Anda tidak perlu masuk, dan browser langsung masuk ke halaman untuk WebJob Anda.)

  16. Klik nama fungsi untuk melihat detail tentang eksekusi fungsi.

    Detail fungsi

Jika fungsi Anda menulis log, Anda bisa mengeklik ToggleOutput untuk melihatnya.

Catatan tentang penelusuran kesalahan jarak jauh

  • Berjalan dalam mode debug dalam produksi tidak disarankan. Jika aplikasi produksi Anda tidak diskalakan ke beberapa instans server, penelusuran kesalahan mencegah server web merespons permintaan lain. Jika Anda memiliki beberapa instans server web, ketika Anda melampirkan ke debugger, Anda mendapatkan instans acak, dan Anda tidak memiliki cara untuk memastikan bahwa permintaan browser berikutnya membuka instans yang sama. Selain itu, Anda biasanya tidak menerapkan build debug ke produksi, dan pengoptimalan compiler untuk build rilis mungkin membuatnya tidak mungkin untuk menunjukkan apa yang terjadi baris demi baris dalam kode sumber Anda. Untuk memecahkan masalah produksi, sumber daya terbaik Anda adalah pelacakan aplikasi dan log server web.

  • Hindari perhentian panjang di titik henti saat penelusuran kesalahan jarak jauh. Azure memperlakukan proses yang dihentikan lebih dari beberapa menit sebagai proses yang tidak responsif, dan mematikannya.

  • Saat Anda melakukan penelusuran kesalahan, server akan mengirim data ke Visual Studio, yang dapat memengaruhi biaya bandwidth. Untuk informasi tentang tarif bandwidth, lihat Harga Azure.

  • Pastikan bahwa atribut debug dari elemen compilation dalam file Web.config diatur ke true. Ini diatur ke true secara default saat Anda memublikasikan konfigurasi build debug.

    <system.web>
      <compilation debug="true" targetFramework="4.5" />
      <httpRuntime targetFramework="4.5" />
    </system.web>
    
  • Jika Anda menemukan bahwa debugger tidak masuk ke kode yang ingin Anda debug, Anda mungkin harus mengubah pengaturan Just My Code. Untuk informasi selengkapnya, lihat Menentukan apakah hanya akan men-debug kode pengguna menggunakan Just My Code di Visual Studio.

  • Timer dimulai di server saat Anda mengaktifkan fitur penelusuran kesalahan jarak jauh, dan setelah 48 jam, fitur secara otomatis dimatikan. Batas waktu 48 jam ini dilakukan demi keamanan dan performa. Anda dapat dengan mudah mengaktifkan kembali fitur sebanyak mungkin. Sebaiknya biarkan fitur ini nonaktif saat Anda tidak melakukan penelusuran kesalahan secara aktif.

  • Anda dapat melampirkan debugger secara manual ke proses apa pun, tidak hanya proses aplikasi (w3wp.exe). Untuk informasi selengkapnya tentang cara menggunakan mode debug di Visual Studio, lihat Men-debug di Visual Studio.

Gambaran umum log diagnostik

Aplikasi ASP.NET yang berjalan di aplikasi App Service dapat membuat jenis log berikut:

  • Log pelacakan aplikasi
    Aplikasi membuat log ini dengan memanggil metode kelas System.Diagnostics.Trace.
  • Log server web
    Server web membuat entri log untuk setiap permintaan HTTP ke aplikasi.
  • Log pesan kesalahan terperinci
    Server web membuat halaman HTML dengan beberapa informasi tambahan untuk permintaan HTTP yang gagal (permintaan yang menghasilkan kode status 400 atau lebih besar).
  • Log pelacakan permintaan yang gagal
    Server web membuat file XML dengan informasi pelacakan terperinci untuk permintaan HTTP yang gagal. Server web juga menyediakan file XSL untuk memformat XML di browser.

Pengelogan memengaruhi performa aplikasi, sehingga Azure memberi Anda kemampuan untuk mengaktifkan atau menonaktifkan setiap jenis log sesuai kebutuhan. Untuk log aplikasi, Anda dapat menentukan bahwa hanya log di atas tingkat keparahan tertentu yang harus ditulis. Saat Anda membuat aplikasi baru, secara default semua pengelogan akan dinonaktifkan.

Log ditulis ke file di folder LogFiles di sistem file aplikasi Anda dan dapat diakses melalui FTP. Log server web dan log aplikasi juga dapat ditulis ke akun Azure Storage. Anda dapat menyimpan volume log yang lebih besar di akun penyimpanan daripada yang dimungkinkan dalam sistem file. Anda dibatasi hingga maksimum 100 megabita log saat menggunakan sistem file. (Log sistem file hanya untuk tujuan retensi jangka pendek. Azure menghapus file log lama untuk memberi ruang bagi yang baru setelah batas tercapai.)

Membuat dan melihat log jejak aplikasi

Di bagian ini, Anda melakukan tugas berikut:

  • Tambahkan pernyataan pelacakan ke proyek web yang Anda buat di Mulai menggunakan Azure dan ASP.NET.
  • Lihat log saat Anda menjalankan proyek secara lokal.
  • Lihat log seperti yang dihasilkan oleh aplikasi yang berjalan di Azure.

Untuk informasi tentang cara membuat log aplikasi di WebJobs, lihat Cara menggunakan penyimpanan antrean Azure menggunakan WebJobs SDK - Cara menulis log. Petunjuk berikut untuk menampilkan log dan mengontrol metode penyimpanannya di Azure berikut berlaku juga untuk log aplikasi yang dibuat oleh WebJobs.

Menambahkan pernyataan pelacakan ke aplikasi

  1. Buka Controllers\HomeController.cs, dan ganti metode Index, About, dan Contact dengan kode berikut untuk menambahkan pernyataan Trace dan pernyataan using untuk System.Diagnostics :

    public ActionResult Index()
    {
        Trace.WriteLine("Entering Index method");
        ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
        Trace.TraceInformation("Displaying the Index page at " + DateTime.Now.ToLongTimeString());
        Trace.WriteLine("Leaving Index method");
        return View();
    }
    
    public ActionResult About()
    {
        Trace.WriteLine("Entering About method");
        ViewBag.Message = "Your app description page.";
        Trace.TraceWarning("Transient error on the About page at " + DateTime.Now.ToShortTimeString());
        Trace.WriteLine("Leaving About method");
        return View();
    }
    
    public ActionResult Contact()
    {
        Trace.WriteLine("Entering Contact method");
        ViewBag.Message = "Your contact page.";
        Trace.TraceError("Fatal error on the Contact page at " + DateTime.Now.ToLongTimeString());
        Trace.WriteLine("Leaving Contact method");
        return View();
    }        
    
  2. Tambahkan pernyataan using System.Diagnostics; ke bagian atas file.

Melihat output pelacakan secara lokal

  1. Tekan F5 untuk menjalankan aplikasi dalam mode debug.

    Pendengar jejak default menulis semua output jejak ke jendela Output, bersama dengan output Debug lainnya. Ilustrasi berikut menunjukkan output dari pernyataan jejak yang Anda tambahkan ke metode Index.

    Menelusuri di jendela Debug

    Langkah-langkah berikut menunjukkan cara melihat output jejak di halaman web, tanpa mengompilasi dalam mode debug.

  2. Buka file Web.config aplikasi (yang terletak di folder proyek) dan tambahkan elemen <system.diagnostics> di akhir file tepat sebelum elemen </configuration> penutup:

    <system.diagnostics>
    <trace>
      <listeners>
        <add name="WebPageTraceListener"
            type="System.Web.WebPageTraceListener,
            System.Web,
            Version=4.0.0.0,
            Culture=neutral,
            PublicKeyToken=b03f5f7f11d50a3a" />
      </listeners>
    </trace>
    </system.diagnostics>
    

WebPageTraceListener memungkinkan Anda melihat output jejak dengan menjelajah ke /trace.axd.

  1. Tambahkan elemen jejak di bawah <system.web> dalam Web.config file, seperti contoh berikut:

    <trace enabled="true" writeToDiagnosticsTrace="true" mostRecent="true" pageOutput="false" />
    
  2. Klik CTRL + F5 untuk menjalankan aplikasi.

  3. Di bilah alamat jendela browser, tambahkan trace.axd ke URL, lalu tekan Enter (URL mirip dengan http://localhost:53370/trace.axd).

  4. Pada halaman Jejak Aplikasi, klik Tampilkan Detail pada baris pertama (bukan baris BrowserLink).

    Cuplikan layar halaman Jejak Aplikasi di browser web memperlihatkan Tampilkan Detail yang dipilih pada baris pertama.

    Halaman Minta Detail muncul, dan di bagian Lacak Informasi, Anda akan melihat output dari pernyataan jejak yang ditambahkan ke metode Index.

    Cuplikan layar halaman Minta Detail di browser web memperlihatkan pesan yang disorot di bagian Lacak Informasi.

    Secara default, trace.axd hanya tersedia secara lokal. Jika Anda ingin membuatnya tersedia dari aplikasi jarak jauh, Anda dapat menambahkan localOnly="false" ke elemen trace dalam file Web.config, seperti yang ditunjukkan dalam contoh berikut:

    <trace enabled="true" writeToDiagnosticsTrace="true" localOnly="false" mostRecent="true" pageOutput="false" />
    

    Namun, mengaktifkan trace.axd di aplikasi produksi tidak disarankan karena alasan keamanan. Di bagian berikut, Anda akan melihat cara yang lebih mudah untuk membaca log pelacakan di aplikasi App Service.

Melihat output pelacakan di Azurel

  1. Di Penjelajah Solusi, klik kanan proyek web dan pilih Terbitkan.

  2. Dalam kotak dialog Terbitkan Webm klik Terbitkan.

    Setelah Visual Studio menerbitkan pembaruan Anda, jendela browser akan dibuka ke halaman beranda Anda (dengan asumsi Anda tidak menghapus URL Tujuan pada tab Koneksi).

  3. Di Server Explorer, klik kanan aplikasi Anda dan pilih Tampilkan Log Streaming.

    Cuplikan layar Server Explorer setelah mengeklik kanan aplikasi Anda, dengan Tampilkan Log Streaming dipilih di jendela baru.

    Jendela Output menunjukkan bahwa Anda tersambung ke layanan streaming log, dan menambahkan baris pemberitahuan setiap menit yang berlalu tanpa log untuk ditampilkan.

    Cuplikan layar jendela Output memperlihatkan contoh koneksi ke layanan streaming log dengan saluran notifikasi.

  4. Di jendela browser yang memperlihatkan halaman beranda aplikasi Anda, klik Kontak.

    Dalam beberapa detik, output dari jejak tingkat kesalahan yang Anda tambahkan ke metode Contact muncul di jendela Output.

    Jejak kesalahan di jendela Output

    Visual Studio hanya menampilkan jejak tingkat kesalahan karena itu adalah pengaturan default saat Anda mengaktifkan layanan pemantauan log. Saat Anda membuat aplikasi App Service baru, semua pengelogan dinonaktifkan secara default, seperti yang Anda lihat saat Anda membuka halaman pengaturan sebelumnya:

    Pengelogan aplikasi tidak aktif

    Namun, ketika Anda memilih Lihat Log Streaming, Visual Studio secara otomatis mengubah Pengelogan Aplikasi (Sistem File) menjadi Kesalahan, yang berarti log tingkat kesalahan telah dilaporkan. Untuk melihat semua log pelacakan, Anda dapat mengubah pengaturan ini ke Verbose. Ketika Anda memilih tingkat keparahan yang lebih rendah dari kesalahan, semua log untuk tingkat keparahan yang lebih tinggi juga dilaporkan. Jadi, ketika Anda memilih verbose, Anda juga melihat log informasi, peringatan, dan kesalahan.

  5. Di Server Explorer, klik kanan aplikasi, lalu klik Tampilkan Pengaturan seperti yang Anda lakukan sebelumnya.

  6. Ubah Pengelogan Aplikasi (Sistem File) ke Verbose,, lalu klik Simpan.

    Mengatur tingkat pelacakan menjadi Verbose

  7. Di jendela browser yang sekarang memperlihatkan halaman Kontak Anda, klik Beranda, lalu klik Tentang, lalu klik Kontak.

    Dalam beberapa detik, jendela Output menampilkan semua output pelacakan Anda.

    Output jejak verbose

    Di bagian ini, Anda mengaktifkan dan menonaktifkan pengelogan dengan menggunakan pengaturan aplikasi. Anda juga dapat mengaktifkan dan menonaktifkan pendengar pelacakan dengan mengubah file Web.config. Memodifikasi file Web.config menyebabkan domain aplikasi didaur ulang sedangkan mengaktifkan pengelogan melalui konfigurasi aplikasi tidak melakukannya. Jika masalah tersebut membutuhkan waktu lama untuk direproduksi, atau terputus-putus, mendaur ulang domain aplikasi mungkin bisa "memperbaiki" itu dan memaksa Anda untuk menunggu sampai itu terjadi lagi. Mengaktifkan diagnostik di Azure memungkinkan Anda mulai menangkap informasi kesalahan segera tanpa mendaur ulang domain aplikasi.

Fitur jendela output

Tab Microsoft Azure Log dari Jendela Output memiliki beberapa tombol dan kotak teks:

Cuplikan layar memperlihatkan tombol dan kotak teks tab Microsoft Azure Logs di jendela Output.

Ini melakukan fungsi-fungsi berikut:

  • Membersihkan jendela Output.
  • Mengaktifkan atau menonaktifkan pembungkus kata.
  • Memulai atau menghentikan pemantauan log.
  • Menentukan log mana yang akan dipantau.
  • Mengunduh log.
  • Memfilter log berdasarkan string pencarian atau ekspresi reguler.
  • Tutup jendela Output.

Jika Anda memasukkan string pencarian atau ekspresi reguler, Visual Studio memfilter informasi pengelogan di klien. Itu berarti Anda dapat memasukkan kriteria setelah log ditampilkan di jendela Output dan Anda dapat mengubah kriteria pemfilteran tanpa harus meregenerasi log.

Lihat log server web

Log server web merekam semua aktivitas HTTP untuk aplikasi. Untuk melihatnya di jendela Output, Anda harus mengaktifkannya untuk aplikasi dan memberi tahu Visual Studio bahwa Anda ingin memantaunya.

  1. Di tab Azure Web App Configuration yang Anda buka dari Server Explorer, ubah Pengelogan Server Web menjadi Aktif, lalu klik Simpan.

    Aktifkan pengelogan server web

  2. Di Jendela Output, klik tombol Tentukan log Microsoft Azure mana yang akan dipantau.

    Tentukan log Azure mana yang akan dipantau

  3. Dalam kotak dialog Opsi Pengelogan Microsoft Azure, pilih Log server web, lalu klik OK.

    Memantau log server web

  4. Di jendela browser yang memperlihatkan aplikasi, klik Beranda, lalu klik Tentang, lalu klik Kontak.

    Log aplikasi umumnya muncul pertama kali, diikuti oleh log server web. Anda mungkin harus menunggu beberapa saat agar log muncul.

    Log server web di jendela Output

Secara default, ketika Anda pertama kali mengaktifkan log server web dengan menggunakan Visual Studio, Azure menulis log ke sistem file. Sebagai alternatif, Anda dapat menggunakan portal Microsoft Azure untuk menentukan bahwa log server web harus ditulis ke kontainer blob di akun penyimpanan.

Jika Anda menggunakan portal untuk mengaktifkan pengelogan server web ke akun penyimpanan Azure, lalu menonaktifkan pengelogan di Visual Studio, saat Anda mengaktifkan kembali pengelogan di Visual Studio, pengaturan akun penyimpanan Anda dipulihkan.

Lihat log pesan kesalahan terperinci

Log kesalahan terperinci menyediakan beberapa informasi tambahan tentang permintaan HTTP yang menghasilkan kode respons kesalahan (400 atau lebih tinggi). Untuk melihatnya di jendela Output, Anda harus mengaktifkannya untuk aplikasi dan memberi tahu Visual Studio bahwa Anda ingin memantaunya.

  1. Di tab Azure Web App Configuration yang Anda buka dari Server Explorer, ubah Pesan Kesalahan Terperinci menjadi Aktif, lalu klik Simpan.

    Aktifkan pesan kesalahan terperinci

  2. Di Jendela Output, klik tombol Tentukan log Microsoft Azure mana yang akan dipantau.

  3. Dalam kotak dialog Opsi Pengelogan Microsoft Azure, pilih Semua log, lalu klik OK.

    Memantau semua log

  4. Di bilah alamat jendela browser, tambahkan karakter tambahan ke URL untuk membuat kesalahan 404 (misalnya, http://localhost:53370/Home/Contactx), dan tekan Enter.

    Setelah beberapa detik, log kesalahan terperinci muncul di jendela Output Visual Studio.

    Log kesalahan terperinci - Jendela output

    Control+klik tautan untuk melihat output log yang diformat di browser:

    Log kesalahan terperinci - jendela browser

Unduh log sistem file

Log apa pun yang dapat Anda pantau di jendela Output juga dapat diunduh sebagai file .zip.

  1. Di jendela Output, klik Unduh Log Streaming.

    Cuplikan layar jendela Output memperlihatkan tombol Unduh Log Streaming yang disorot.

    File Explorer terbuka ke folder Unduhan Anda dengan file unduhan yang dipilih.

    Cuplikan layar folder Unduhan di File Explorer dengan file unduhan yang dipilih.

  2. Ekstrak file .zip, dan Anda akan melihat struktur folder berikut ini:

    Cuplikan layar struktur folder file .zip setelah file diekstraksi.

    • Log pelacakan aplikasi berada di file .txt dalam folder LogFiles\Application.

    • Log server web berada di file .log dalam folder LogFiles\http\RawLogs. Anda dapat menggunakan alat seperti Log Parser untuk melihat dan memanipulasi file-file ini.

    • Log pesan kesalahan terperinci berada di file .html dalam folder LogFiles\DetailedErrors.

      (Folder penyebaran adalah untuk file yang dibuat oleh penerbitan kontrol sumber; tidak memiliki apa pun yang terkait dengan penerbitan Visual Studio. Folder Git ditujukan untuk jejak yang terkait dengan penerbitan kontrol sumber dan layanan streaming file log.)

Lihat log pelacakan permintaan yang gagal

Log pelacakan permintaan yang gagal berguna untuk memahami detail bagaimana IIS menangani permintaan HTTP, dalam skenario seperti penulisan ulang URL atau masalah autentikasi.

Aplikasi App Service menggunakan fungsionalitas pelacakan permintaan gagal yang sama yang telah tersedia dengan IIS 7.0 dan yang lebih baru. Namun, Anda tidak memiliki akses ke pengaturan IIS yang mengonfigurasi kesalahan yang dicatat. Saat Anda mengaktifkan pelacakan permintaan yang gagal, semua kesalahan akan ditangkap.

Anda dapat mengaktifkan pelacakan permintaan yang gagal dengan menggunakan Visual Studio, tetapi Anda tidak dapat melihatnya di Visual Studio. Log ini adalah file XML. Layanan log streaming hanya memantau file yang dianggap dapat dibaca dalam mode teks biasa: file .txt, .html, dan .log.

Anda dapat melihat log pelacakan permintaan yang gagal di browser secara langsung melalui FTP atau secara lokal setelah menggunakan alat FTP untuk mengunduhnya ke komputer lokal Anda. Di bagian ini, Anda akan melihatnya di browser secara langsung.

  1. Di tab Konfigurasi dari jendela Azure Web App yang Anda buka dari Server Explorer, ubah Pelacakan Permintaan Gagal menjadi Aktif, lalu klik Simpan.

    Aktifkan pelacakan permintaan yang gagal

  2. Di bilah alamat jendela browser yang menampilkan aplikasi, tambahkan karakter tambahan ke URL dan klik Enter untuk membuat kesalahan 404.

    Ini menyebabkan log pelacakan permintaan yang gagal dibuat, dan langkah-langkah berikut menunjukkan cara melihat atau mengunduh log.

  3. Di Visual Studio, di tab Konfigurasi jendela Azure Web App, klik Buka di Portal Manajemen.

  4. Di halaman Pengaturan portal Microsoft Azure untuk aplikasi Anda, klik Kredensial penyebaran, lalu masukkan nama pengguna dan kata sandi baru.

    Nama Pengguna dan Sandi FTP baru

    Catatan

    Saat masuk, Anda harus menggunakan nama pengguna lengkap yang diawali dengan nama aplikasi. Misalnya, jika Anda memasukkan "myid" sebagai nama pengguna dan situsnya adalah "myexample", Anda masuk sebagai "myexample\myid".

  5. Di jendela browser baru, buka URL yang ditampilkan di bawah nama host FTP atau nama host FTPS di halaman Gambaran Umum untuk aplikasi Anda.

  6. Masuk menggunakan kredensial FTP yang Anda buat sebelumnya (termasuk awalan nama aplikasi untuk nama pengguna).

    Browser menampilkan folder akar aplikasi.

  7. Pilih folder LogFiles.

    Buka folder LogFiles

  8. Buka folder yang bernama W3SVC plus nilai numerik.

    Buka folder W3SVC

    Folder berisi file XML untuk setiap kesalahan yang telah dicatat setelah Anda mengaktifkan pelacakan permintaan yang gagal, dan file XSL yang dapat digunakan browser untuk memformat XML.

    Folder W3SVC

  9. Klik file XML untuk permintaan gagal yang ingin Anda lihat informasi pelacakannya.

    Ilustrasi berikut ini memperlihatkan bagian dari informasi pelacakan untuk kesalahan sampel.

    Pelacakan permintaan gagal di browser

Langkah berikutnya

Anda telah melihat bagaimana Visual Studio memudahkan untuk melihat log yang dibuat oleh aplikasi App Service. Bagian berikut ini menyediakan tautan ke lebih banyak sumber daya tentang topik terkait:

  • Pemecahan masalah App Service
  • Penelusuran kesalahan di Visual Studio
  • Penelusuran kesalahan jarak jauh di Azure
  • Pelacakan dalam aplikasi ASP.NET
  • Menganalisis log server web
  • Menganalisis log pelacakan permintaan yang gagal
  • Penelusuran kesalahan Cloud Services

Pemecahan masalah App Service

Untuk informasi selengkapnya tentang pemecahan masalah aplikasi di Azure App Service, lihat sumber daya berikut ini:

Untuk bantuan tentang pertanyaan pemecahan masalah tertentu, mulailah utas di salah satu forum berikut:

Penelusuran kesalahan di Visual Studio

Untuk informasi selengkapnya tentang cara menggunakan mode debug di Visual Studio, lihat Penelusuran Kesalahan di Visual Studio dan Tips Penelusuran Kesalahan dengan Visual Studio 2010.

Penelusuran kesalahan jarak jauh di Azure

Untuk informasi selengkapnya tentang penelusuran kesalahan jarak jauh untuk aplikasi App Service dan WebJob, lihat sumber daya berikut ini:

Jika aplikasi Anda menggunakan Azure Web API atau back-end Layanan Seluler dan Anda perlu men-debug itu, lihat Penelusuran Kesalahan .NET Backend di Visual Studio.

Pelacakan dalam aplikasi ASP.NET

Tidak ada pengenalan menyeluruh dan terbaru untuk melacak ASP.NET yang tersedia di Internet. Anda hanya bisa memulai dengan materi pengantar lama yang ditulis untuk Formulir Web karena MVC belum ada, dan melengkapinya dengan postingan blog baru yang berfokus pada masalah tertentu. Beberapa tempat yang bagus untuk memulai adalah sumber daya berikut:

Untuk pengelogan kesalahan, alternatif untuk menulis kode pelacakan Anda sendiri adalah menggunakan kerangka kerja pengelogan sumber terbuka seperti ELMAH. Untuk informasi selengkapnya, lihat postingan blog Scott Hanselman tentang ELMAH.

Selain itu, Anda tidak perlu menggunakan pelacakan ASP.NET atau System.Diagnostics untuk mendapatkan log streaming dari Azure. Layanan log streaming aplikasi App Service mengalirkan file .txt, .html, atau .log yang ditemukan di folder LogFiles. Oleh karena itu, Anda dapat membuat sistem pengelogan Anda sendiri yang menulis ke sistem file aplikasi, dan file Anda secara otomatis dialirkan dan diunduh. Yang harus Anda lakukan adalah menulis kode aplikasi yang membuat file di folder d:\home\logfiles.

Menganalisis log server web

Untuk informasi selengkapnya tentang menganalisis log server web, lihat sumber daya berikut ini:

Menganalisis log pelacakan permintaan yang gagal

Situs web Microsoft TechNet menyertakan bagian Menggunakan Pelacakan Permintaan yang Gagal, yang mungkin berguna untuk memahami cara menggunakan log ini. Namun, dokumentasi ini berfokus terutama pada konfigurasi pelacakan permintaan yang gagal di IIS, yang tidak dapat Anda lakukan di Azure App Service.