NSLogger - Cocoaheads Paris Presentation - English

2,933 views
2,748 views

Published on

Presentation of NSLogger, a logging tool for iOS and Mac OS X developers, I made at Cocoaheads Paris December 12th, 2010

Published in: Technology
1 Comment
4 Likes
Statistics
Notes
  • You made a great presentation at CocoaHeads. Thanks for sharing that awesome tool ! This will be soon in my dev workflow. Cheers ! @mhofongfat
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
2,933
On SlideShare
0
From Embeds
0
Number of Embeds
24
Actions
Shares
0
Downloads
17
Comments
1
Likes
4
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • NSLogger - Cocoaheads Paris Presentation - English

    1. 1. NSLogger Florent Pillet
    2. 2. Florent Pillet• Freelance Mac OS X / iOS architect & developer• www.linkedin.com/in/fpillet• Twitter @fpillet• Email florent@florentpillet.com
    3. 3. Development Tools• Xcode• Static Analyzer• Instruments• Debugger• Logs
    4. 4. Development Tools• Xcode• Static Analyzer• Instruments• Debugger• Logs
    5. 5. Development Tools• Xcode• Static Analyzer• Instruments• Debugger• Logs
    6. 6. Development Tools• Xcode• Static Analyzer• Instruments• Debugger• Logs
    7. 7. Development Tools• Xcode• Static Analyzer• Instruments• Debugger• Logs
    8. 8. Development Tools• Xcode• Static Analyzer• Instruments• Debugger• Logs
    9. 9. Development Tools• Xcode• Static Analyzer• Instruments• Debugger• Logs
    10. 10. Development Tools• Xcode• Static Analyzer• Instruments• Debugger• Logs
    11. 11. Development Tools• Xcode• Static Analyzer• Instruments• Debugger• Logs
    12. 12. Development Tools• Xcode• Static Analyzer• Instruments• Debugger• Logs
    13. 13. Development Tools• Xcode• Static Analyzer• Instruments• Debugger• Logs
    14. 14. Development Tools• Xcode• Static Analyzer• Instruments• Debugger• Logs
    15. 15. Logging users• Beginner: @”hello, world”• Intermediate: major events• Advanced: code flow, internal states, all events, exceptions• Warrior: timings, threads, networking, ipc
    16. 16. NSLog()• Simple and useful• Hard to read• Threading• Release builds?
    17. 17. NSLogger Client API (iOS / Mac OS X)NSLogger Viewer (Mac OS X 10.6+)
    18. 18. NSLogger Client API (iOS / Mac OS X)NSLogger Viewer (Mac OS X 10.6+)
    19. 19. NSLogger
    20. 20. NSLogger
    21. 21. NSLogger
    22. 22. NSLogger
    23. 23. NSLogger
    24. 24. Networking• Bonjour (local)
    25. 25. Networking• Bonjour (local)
    26. 26. Networking• Bonjour (local)• Remote host / port
    27. 27. Networking• Bonjour (local)• Remote host / port t Interne
    28. 28. Networking• Bonjour (local)• Remote host / port• SSL t Interne
    29. 29. Networking• Bonjour (local)• Remote host / port• SSL t Interne
    30. 30. Logs• Text (UTF-8)
    31. 31. Logs• Text (UTF-8)
    32. 32. Logs• Text (UTF-8)
    33. 33. Logs• Text (UTF-8)• Binary data
    34. 34. Logs• Text (UTF-8)• Binary data
    35. 35. Logs• Text (UTF-8)• Binary data• Images (all formats supported by Cocoa)
    36. 36. Attached data• Tag
    37. 37. Attached data• Tag
    38. 38. Attached data• Tag• Log level
    39. 39. Attached data• Tag• Log level
    40. 40. Attached data• Tag• Log level• File, line#, calling function / method / selector
    41. 41. Time• Timestamp
    42. 42. Time• Timestamp• Time elapsed between two logs
    43. 43. Time• Timestamp• Time elapsed between two logs (computed between two displayed log lines)
    44. 44. Markers• Add a marker at the end of the log
    45. 45. Markers• Add a marker at the end of the log• Or anywhere in the log (post-mortem analysis)
    46. 46. Demo
    47. 47. Filters• Per-application filter sets
    48. 48. Filters• Per-application filter sets• Log type
    49. 49. Filters• Per-application filter sets• Log type• Tags
    50. 50. Filters• Per-application filter sets• Log type• Tags• Contents
    51. 51. Filters• Per-application filter sets• Log type• Tags• Contents• Select multiple filters
    52. 52. Filters• Per-application filter sets• Log type• Tags• Contents• Select multiple filters• Quick search
    53. 53. Filters• Per-application filter sets• Log type• Tags• Contents• Select multiple filters• Quick search
    54. 54. Macros
    55. 55. Macros
    56. 56. Macros
    57. 57. Macros
    58. 58. Macros
    59. 59. Saving• .nsloggerdata files
    60. 60. Saving• .nsloggerdata files• Text export
    61. 61. Saving• .nsloggerdata files• Text export• Details view (copy-paste)
    62. 62. Saving• .nsloggerdata files• Text export• Details view (copy-paste)• Raw log files (.rawnsloggerdata)
    63. 63. Advanced stuff• Console output (nice and clean)
    64. 64. Advanced stuff• Console output (nice and clean)• Log serialization (thread safe)
    65. 65. Advanced stuff• Console output (nice and clean)• Log serialization (thread safe)
    66. 66. Advanced stuff• Console output (nice and clean)• Log serialization (thread safe)• Buffering (file / memory)
    67. 67. Advanced stuff• Console output (nice and clean)• Log serialization (thread safe)• Buffering• Complex scenarios
    68. 68. Advanced stuff• Console output (nice and clean)• Log serialization (thread safe)• Buffering• Complex scenarios• Teamwork
    69. 69. Advanced stuff• Console output (nice and clean)• Log serialization (thread safe)• Buffering• Complex scenarios• Teamwork
    70. 70. Extensibility• Extensible binary packets
    71. 71. Extensibility• Extensible binary packets• Modular viewer architecture
    72. 72. Extensibility• Extensible binary packets• Modular viewer architecture• Potential uses: • Remote debugging
    73. 73. Extensibility• Extensible binary packets• Modular viewer architecture• Potential uses: • Debug distant • Monitoring
    74. 74. Extensibility• Extensible binary packets• Modular viewer architecture• Potential uses: • Debug distant • Monitoring • Foreign log sources
    75. 75. Extensibility• Extensible binary packets• Modular viewer architecture• Potential uses: • Debug distant • Monitoring • Foreign log sources (JSON, XML, ASL, etc.)
    76. 76. Contribute !https://github.com/fpillet/NSLogger
    77. 77. Questions ?https://github.com/fpillet/NSLogger

    ×