Jump to content
View in the app

A better way to browse. Learn more.

OSBot :: 2007 OSRS Botting

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Referencing log from a static context help

Featured Replies

Probably being retarded here but I've been testing accessing a MySQL database and using System.out to check for errors - got it to work fine but since moving it over to osbot I've been trying to use the logger but can't access it 

 

Is there a way to use it outside onLoop etc or is there a way I've completely missed to use System.out.println?

Edited by HeyImJamie

  • Author
1 minute ago, nosepicker said:

Use log() instead of System.out. 

That's what I'm struggling with. My voids are static and I can't access log 

Pass in your main class to the method as a prameter where you want to use System.out then. Then do ParamName.log();

Lord help your soul, son.

Might as well help and not shit post: Pass in the reference of the logger wherever you'd like and use it.

Edited by Final

9 minutes ago, HeyImJamie said:

That's what I'm struggling with. My voids are static and I can't access log 

 

5 minutes ago, nosepicker said:

Pass in your main class to the method as a prameter where you want to use System.out then. Then do ParamName.log();

 

That or run OSBot in debug mode with the -debug flag, you can then see your printlns in CMD (or terminal)

38 minutes ago, HeyImJamie said:

Probably being retarded here but I've been testing accessing a MySQL database and using System.out to check for errors - got it to work fine but since moving it over to osbot I've been trying to use the logger but can't access it 

 

Is there a way to use it outside onLoop etc or is there a way I've completely missed to use System.out.println?

public class Logger {

     private static MethodProvider m;

     private Logger() {

     }

     public static void setup(MethodProvider m) {

          Logger.m = m;

     }

     public static void log(String message) {

          if(m != null)

                m.log(message);

     }     

}

 

this is a pretty basic way of doing it. just call setup in your onStart() and you should be able to use this. if you want a staticly accessible version of m just create a getter for m

Edited by Team Cape

29 minutes ago, Team Cape said:

public class Logger {

     private static MethodProvider m;

     private Logger() {

     }

     public static void setup(MethodProvider m) {

          Logger.m = m;

     }

     public static void log(String message) {

          if(m != null)

                m.log(message);

     }     

}

 

this is a pretty basic way of doing it. just call setup in your onStart() and you should be able to use this. if you want a staticly accessible version of m just create a getter for m

 

Logger logger = new Logger();

 

logger.m = m;

 

edit: im thinkin more singleton but urs is fine ;)

Edited by dreameo

18 minutes ago, Team Cape said:

he wanted it to be static

yea bbg,

I meant

Logger logger;

private Logger() {}

Private Mp mp;

public initLog(Mp mp) {

if(logger == null)

logger = new Logger()

logger.mp = mp;

}

.

.

.

 

Singleton op (somfin like dat)

  • Author

Using -debug works ok for now. While you're here, does OSbot even allow for external libs? Using the jbdc mysql driver and it's throwing classnotfound even though it's working on my tester -.- 

42 minutes ago, HeyImJamie said:

Using -debug works ok for now. While you're here, does OSbot even allow for external libs? Using the jbdc mysql driver and it's throwing classnotfound even though it's working on my tester -.- 

no u need to add the library to ur project

  • Author
8 minutes ago, Chris said:

no u need to add the library to ur project

I did but apparently security settings block access -.-

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.