Memecahkan masalah aplikasi di Azure App Service menggunakan Visual Studio

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.

    View Settings in Server Explorer

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

    Azure Web App window

    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 '/':

Screenshot showing a Server Error in '/' Application error in a web browser.

Terjadi kesalahan:

Screenshot showing an example of a generic error occurring in a web browser.

Situs web tidak bisa menampilkan halaman

Screenshot showing a message that reads **The website cannot display the page error in a web browser**.

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.

    Open 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:

    Detailed error message

    (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.

    Publish in debug mode

  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.

    Screenshot of the Server Explorer window showing an app selected and then clicking Attach 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.

    View variable in debug mode running in 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.

    About page with new value

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.

    Set breakpoint

  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.

    Screenshot of Server Explorer showing ContosoAdsWebJob selected in the drop-down menu and Attach Debugger selected.

    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.

    blobInfo object in 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.

    Click 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.

    Function details

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.

    Tracing in Debug window

    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).

    Screenshot of the Application Trace page in a web browser showing View Details selected on the first line.

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

    Screenshot of the Request Details page in a web browser showing a message highlighted in the Trace Information section.

    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.

    Screenshot of Server Explorer after right-clicking your app, with View Streaming Logs selected in a new window.

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

    Screenshot of the Output window showing an example of a connection to a log-streaming service with notification lines.

  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.

    Error trace in Output window

    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:

    Application Logging off

    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.

    Setting trace level to 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.

    Verbose trace output

    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:

Screenshot showing the buttons and text box of the Microsoft Azure Logs tab in the Output window.

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.

    Enable web server logging

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

    Specify which Azure logs to monitor

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

    Monitor web server logs

  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.

    Web server logs in Output window

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.

    Enable detailed error messages

  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.

    Monitor all logs

  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.

    Detailed error log - Output window

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

    Detailed error log - browser window

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.

    Screenshot of the Output window showing the Download Streaming Logs button highlighted.

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

    Screenshot of the Downloads folder in File Explorer with a downloaded file selected.

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

    Screenshot of the .zip file folder structure after the file has been extracted.

    • 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.

    Enable failed request tracing

  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 Portal AzurePengaturan untuk aplikasi Anda, klik Informasi masuk penyebaran, lalu masukkan nama pengguna dan kata sandi baru.

    New FTP user name and password

    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.

    Open LogFiles folder

  8. Buka folder yang bernama W3SVC plus nilai numerik.

    Open W3SVC folder

    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.

    W3SVC folder

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

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

    Failed request tracing in 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.